<html>
<head><meta charset="utf-8"><title>rls sync · t-compiler · Zulip Chat Archive</title></head>
<h2>Stream: <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/index.html">t-compiler</a></h2>
<h3>Topic: <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html">rls sync</a></h3>

<hr>

<base href="https://rust-lang.zulipchat.com">

<head><link href="https://rust-lang.github.io/zulip_archive/style.css" rel="stylesheet"></head>

<a name="163186929"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163186929" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163186929">(Apr 12 2019 at 13:02)</a>:</h4>
<p>Hey <span class="user-mention" data-user-id="153740">@Igor Matuszewski</span> , <span class="user-mention" data-user-id="116083">@pnkfelix</span></p>



<a name="163186991"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163186991" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163186991">(Apr 12 2019 at 13:03)</a>:</h4>
<p>Actually <span class="user-mention" data-user-id="153740">@Igor Matuszewski</span> maybe you can lay out some of your thoughts / questions to start?</p>



<a name="163187002"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163187002" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163187002">(Apr 12 2019 at 13:04)</a>:</h4>
<p>Yeah, will do</p>



<a name="163187075"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163187075" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163187075">(Apr 12 2019 at 13:04)</a>:</h4>
<p>(Also, should we cc matklad (not cc'ing yet so as not to bother them if not))</p>



<a name="163187088"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163187088" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163187088">(Apr 12 2019 at 13:04)</a>:</h4>
<p>it's mostly about RLS 1.0 but we could</p>



<a name="163187097"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163187097" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163187097">(Apr 12 2019 at 13:04)</a>:</h4>
<p>let's wait until it makes sense :)</p>



<a name="163187130"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163187130" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163187130">(Apr 12 2019 at 13:05)</a>:</h4>
<p>So I'm happy with what's been done so far - most of the work was focused on paying the tech debt, fixing tests, doing issue triage, rewriting the extension</p>



<a name="163187179"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163187179" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163187179">(Apr 12 2019 at 13:05)</a>:</h4>
<p>and didn't yet focus on implementing much of the new features (except some minor things like rustfmt returning only modified lines for reformatting and so on)</p>



<a name="163187259"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163187259" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163187259">(Apr 12 2019 at 13:06)</a>:</h4>
<p>I did some profiling and came to the conclusion that a very significant portion of our time we spend on (de)serializing save-analysis data and synchronizing multiple rustc instances and cargo in one process (whereas we could parallelize that somewhat easily)</p>



<a name="163187261"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163187261" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163187261">(Apr 12 2019 at 13:06)</a>:</h4>
<p>is there a place to look to get a sense of what the "new features" are etc?</p>



<a name="163187306"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163187306" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163187306">(Apr 12 2019 at 13:07)</a>:</h4>
<p>(also, should we .. make a wg-rls-1.0? should we maybe consider renaming wg-rls-2.0 to something a bit different? I'm not convinced we have the right naming here -- think on it)</p>



<a name="163187309"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163187309" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163187309">(Apr 12 2019 at 13:07)</a>:</h4>
<p>yeah,  one way to look for new features would be to support more LSP requests, like hierarchical symbol outline (which itself needs a bit of work in rls-analysis)</p>



<a name="163187322"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163187322" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163187322">(Apr 12 2019 at 13:07)</a>:</h4>
<p>Do we know if the save-analysis serialization overhead is due to the sheer amount of data being serialized?</p>



<a name="163187338"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163187338" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163187338">(Apr 12 2019 at 13:07)</a>:</h4>
<p>or is the format itself compact, and the overhead arises from the traversal of structures to build the analysis data ?</p>



<a name="163187347"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163187347" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163187347">(Apr 12 2019 at 13:07)</a>:</h4>
<p>I'd think so, we now easily serialize 5-30 megs of JSON back and forth</p>



<a name="163187399"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163187399" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163187399">(Apr 12 2019 at 13:08)</a>:</h4>
<p>I imagine binary format would help here</p>



<a name="163187411"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163187411" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163187411">(Apr 12 2019 at 13:08)</a>:</h4>
<p>does serde have a binary encoder/decoder?</p>



<a name="163187425"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163187425" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163187425">(Apr 12 2019 at 13:08)</a>:</h4>
<p>and possibly investigate using serde in the compiler itself instead of rustc_serialize</p>



<a name="163187447"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163187447" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163187447">(Apr 12 2019 at 13:08)</a>:</h4>
<p>bincode supports serde, yeah</p>



<a name="163187499"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163187499" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163187499">(Apr 12 2019 at 13:09)</a>:</h4>
<p>(re wg-rls-1.0 probably, it'd be good to clarify a bit what's the connection between 1.0 and 2.0)</p>



<a name="163187524"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163187524" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163187524">(Apr 12 2019 at 13:09)</a>:</h4>
<p>so there's that, another area which would be good to explore is to support more project layouts than Cargo to provide a bit more fault-tolerancy there</p>



<a name="163187573"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163187573" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163187573">(Apr 12 2019 at 13:10)</a>:</h4>
<blockquote>
<p>and possibly investigate using serde in the compiler itself instead of rustc_serialize</p>
</blockquote>
<p>oh right I forgot we're not using serde yet</p>



<a name="163187680"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163187680" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163187680">(Apr 12 2019 at 13:11)</a>:</h4>
<p>one (long-term, I bet!) thing worth exploring would be to work towards daemonizing rustc</p>



<a name="163187697"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163187697" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163187697">(Apr 12 2019 at 13:11)</a>:</h4>
<blockquote>
<p>(re wg-rls-1.0 probably, it'd be good to clarify a bit what's the connection between 1.0 and 2.0)</p>
</blockquote>
<p>yes, I'm thinking about this some. I feel we should really try not to have "two teams", but think in terms of a good experience for users and building next gen tooling.</p>



<a name="163187711"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163187711" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163187711">(Apr 12 2019 at 13:12)</a>:</h4>
<blockquote>
<p>one (long-term, I bet!) thing worth exploring would be to work towards daemonizing rustc</p>
</blockquote>
<p>hmm. I mean the rust-analyzer approach kind of already does this, right?</p>



<a name="163187765"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163187765" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163187765">(Apr 12 2019 at 13:12)</a>:</h4>
<p>on every change (after some dynamic timeout) we spin up a rustc to emit the save-analysis and update the index</p>



<a name="163187781"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163187781" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163187781">(Apr 12 2019 at 13:12)</a>:</h4>
<p>are we using incremental yet?</p>



<a name="163187785"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163187785" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163187785">(Apr 12 2019 at 13:12)</a>:</h4>
<p>which means reading/saving the depgraph and doing all the work, but that's effectively end-to-end queries</p>



<a name="163187799"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163187799" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163187799">(Apr 12 2019 at 13:12)</a>:</h4>
<blockquote>
<p>are we using incremental yet</p>
</blockquote>
<p>yes</p>



<a name="163187817"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163187817" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163187817">(Apr 12 2019 at 13:12)</a>:</h4>
<p>ok. do we know if we are very <em>effective</em> at it?</p>



<a name="163187831"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163187831" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163187831">(Apr 12 2019 at 13:12)</a>:</h4>
<p>by which I mean:</p>



<a name="163187877"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163187877" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163187877">(Apr 12 2019 at 13:13)</a>:</h4>
<p>I don't know how the save-analysis code is setup, but if it e.g. emits one huge blob for the crate, I suspect it is re-doing a lot of work</p>



<a name="163187881"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163187881" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163187881">(Apr 12 2019 at 13:13)</a>:</h4>
<p>didn't measure what is the cache hit ratio</p>



<a name="163187883"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163187883" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163187883">(Apr 12 2019 at 13:13)</a>:</h4>
<p>though perhaps that's not the significant part</p>



<a name="163187900"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163187900" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163187900">(Apr 12 2019 at 13:13)</a>:</h4>
<blockquote>
<p>I don't know how the save-analysis code is setup, but if it e.g. emits one huge blob for the crate, I suspect it is re-doing a lot of work</p>
</blockquote>
<p>yeah :( that also means more work to (de)serialize data again and so forth</p>



<a name="163187907"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163187907" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163187907">(Apr 12 2019 at 13:13)</a>:</h4>
<p>(i.e., maybe it's stuff like parsing, HIR lowering, that comes earlier in the pipeline)</p>



<a name="163187928"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163187928" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163187928">(Apr 12 2019 at 13:13)</a>:</h4>
<p>this is an area where having self-profile would be very useful</p>



<a name="163188000"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163188000" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163188000">(Apr 12 2019 at 13:14)</a>:</h4>
<p>it'd be great if we could maybe redo parsing/HIR lowering but not emitting all of the data for a given crate target with each change</p>



<a name="163188025"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163188025" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163188025">(Apr 12 2019 at 13:14)</a>:</h4>
<p>so if you were going to rank the "major problems" that remain in RLS 1.0 (i.e., without trying to dramatically change its infrastructure), would perf be the main one?</p>



<a name="163188071"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163188071" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163188071">(Apr 12 2019 at 13:15)</a>:</h4>
<blockquote>
<p>it'd be great if we could maybe redo parsing/HIR lowering but not emitting all of the data for a given crate target with each change</p>
</blockquote>
<p>I feel like this should be possible, but it'd require changing save-analysis presumably to be grouped differently (e.g., something like codegen-units)</p>



<a name="163188090"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163188090" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163188090">(Apr 12 2019 at 13:15)</a>:</h4>
<p>alternatively, or as a mid point, if we structure save-analysis code right,</p>



<a name="163188094"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163188094" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163188094">(Apr 12 2019 at 13:15)</a>:</h4>
<p>I think so - I believe we can cut corners without changing the arch <em>that</em> much while still getting the greatly improved latency</p>



<a name="163188108"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163188108" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163188108">(Apr 12 2019 at 13:15)</a>:</h4>
<p>it should at least not have to redo the work to generate the data that is being serialized</p>



<a name="163188137"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163188137" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163188137">(Apr 12 2019 at 13:15)</a>:</h4>
<blockquote>
<p>I think so - I believe we can cut corners without changing the arch <em>that</em> much while still getting the greatly improved latency</p>
</blockquote>
<p>this seems like it might make a huge difference in user perception</p>



<a name="163188190"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163188190" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163188190">(Apr 12 2019 at 13:16)</a>:</h4>
<p>agreed</p>



<a name="163188232"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163188232" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163188232">(Apr 12 2019 at 13:16)</a>:</h4>
<p>I'm trying to make sure I understand what is being proposed</p>



<a name="163188263"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163188263" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163188263">(Apr 12 2019 at 13:17)</a>:</h4>
<p>first of all, I think it'd be good to move the compilation pipeline out of rls process itself</p>



<a name="163188328"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163188328" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163188328">(Apr 12 2019 at 13:18)</a>:</h4>
<p>can you explain what you mean by the "compilation pipeline"</p>



<a name="163188332"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163188332" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163188332">(Apr 12 2019 at 13:18)</a>:</h4>
<p>which means increased overhead of passing the data over IPC but I believe we'd get more speedup with parallelization alone</p>



<a name="163188347"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163188347" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163188347">(Apr 12 2019 at 13:18)</a>:</h4>
<p>and instead the compilation pipeline would live in a rustc daemon?</p>



<a name="163188374"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163188374" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163188374">(Apr 12 2019 at 13:18)</a>:</h4>
<p>(i guess answer <span class="user-mention" data-user-id="116009">@nikomatsakis</span> 's Q first. <span aria-label="smile" class="emoji emoji-263a" role="img" title="smile">:smile:</span> if they don't know then I surely don't.)</p>



<a name="163188376"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163188376" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163188376">(Apr 12 2019 at 13:18)</a>:</h4>
<p>so right now we first shell out to Cargo to "understand" the project - then we reuse the 'crate dep graph' to orchestrate the compilation ourselves (but inside the one <code>rls</code> process)</p>



<a name="163188400"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163188400" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163188400">(Apr 12 2019 at 13:19)</a>:</h4>
<p>we do this by matching which file was dirty (we collect information which file is associated with each crate target in the graph)</p>



<a name="163188405"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163188405" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163188405">(Apr 12 2019 at 13:19)</a>:</h4>
<p>(ps, remind me <span class="user-mention" data-user-id="153740">@Igor Matuszewski</span>, in the runup to the All Hands, did you make a video or writeup of RLS architecture? did it cover this?)</p>



<a name="163188424"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163188424" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163188424">(Apr 12 2019 at 13:19)</a>:</h4>
<p>(yep! it's here - <a href="https://github.com/rust-lang/rls/blob/master/architecture.md" target="_blank" title="https://github.com/rust-lang/rls/blob/master/architecture.md">https://github.com/rust-lang/rls/blob/master/architecture.md</a>)</p>



<a name="163188485"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163188485" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163188485">(Apr 12 2019 at 13:20)</a>:</h4>
<p>so we queue the 'dirty' crate targets and then linearly compile them in-process</p>



<a name="163188507"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163188507" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163188507">(Apr 12 2019 at 13:20)</a>:</h4>
<p>the 'optimization' here is that for the leaf crates we pass the resulting save-analysis in-memory, which is good</p>



<a name="163188516"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163188516" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163188516">(Apr 12 2019 at 13:21)</a>:</h4>
<p>(for deps we still emit the save-analysis data in blobs)</p>



<a name="163188548"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163188548" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163188548">(Apr 12 2019 at 13:21)</a>:</h4>
<p>however because we compile it once per process, we can't manage to quickly compile anything that's more complex than a single crate target</p>



<a name="163188550"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163188550" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163188550">(Apr 12 2019 at 13:21)</a>:</h4>
<p>because we can't parallelize this</p>



<a name="163188629"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163188629" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163188629">(Apr 12 2019 at 13:22)</a>:</h4>
<p>and unfortunately each instance reads/saves dep graph alone and redoes all of the analysis, which we replace as a whole in the rls-analysis (our save-analysis indexer)</p>



<a name="163188791"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163188791" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163188791">(Apr 12 2019 at 13:24)</a>:</h4>
<blockquote>
<p>the 'optimization' here is that for the leaf crates we pass the resulting save-analysis in-memory, which is good</p>
</blockquote>
<p>this is something we already do?</p>



<a name="163188823"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163188823" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163188823">(Apr 12 2019 at 13:25)</a>:</h4>
<blockquote>
<p>however because we compile it once per process, we can't manage to quickly compile anything that's more complex than a single crate target</p>
</blockquote>
<p>does this apply to deps too? just things within the workspace?</p>



<a name="163188851"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163188851" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163188851">(Apr 12 2019 at 13:25)</a>:</h4>
<p>If you have only one crate in the workspace, presumably in the "steady state" we are typically compiling only some leaf crate that changed?</p>



<a name="163188864"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163188864" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163188864">(Apr 12 2019 at 13:25)</a>:</h4>
<p>But if you have multiple crates, I guess you are compiling the crate that changed plus anything dependent on it?</p>



<a name="163189340"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163189340" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163189340">(Apr 12 2019 at 13:31)</a>:</h4>
<p>so the current setup is we run cargo, let the inner dep nodes output the JSON blob (and we also don't intercept <a href="http://build.rs" target="_blank" title="http://build.rs">build.rs</a> runs)</p>



<a name="163189372"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163189372" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163189372">(Apr 12 2019 at 13:31)</a>:</h4>
<p>but we intercept the leaf notes, for which we pass the save-analysis data in-memory</p>



<a name="163189493"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163189493" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163189493">(Apr 12 2019 at 13:32)</a>:</h4>
<p>in the cargo run, we use the <code>Executor</code> trait there, where Cargo is responsible for coordinating the jobs, however on its own it spawns the command whereas we execute the compilation in-process</p>



<a name="163189542"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163189542" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163189542">(Apr 12 2019 at 13:33)</a>:</h4>
<p>and by leaf node I mean the 'primary' node inside a given workplace (incl. path-based dependencies) and not deps</p>



<a name="163189562"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163189562" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163189562">(Apr 12 2019 at 13:33)</a>:</h4>
<blockquote>
<p>If you have only one crate in the workspace, presumably in the "steady state" we are typically compiling only some leaf crate that changed?</p>
</blockquote>
<p>yes, exactly</p>



<a name="163189569"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163189569" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163189569">(Apr 12 2019 at 13:33)</a>:</h4>
<p>it seems like some of the revision of coordination between <code>cargo</code>+<code>rustc</code> that the WG-pipelining group wants <em>might</em> overlap with <del>desirata</del> objectives here?</p>



<a name="163189671"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163189671" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163189671">(Apr 12 2019 at 13:34)</a>:</h4>
<p>at least, it sounds like RLS is jumping through hoops in order to take over for some of the <code>rustc</code> invocations that <code>cargo</code> would make</p>



<a name="163189680"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163189680" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163189680">(Apr 12 2019 at 13:34)</a>:</h4>
<p>(sorry, just thinking out loud.)</p>



<a name="163189702"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163189702" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163189702">(Apr 12 2019 at 13:35)</a>:</h4>
<blockquote>
<p>so the current setup is we run cargo, let the inner dep nodes output the JSON blob (and we also don't intercept <a href="http://build.rs" target="_blank" title="http://build.rs">build.rs</a> runs)</p>
</blockquote>
<p>what are "dep nodes" here?</p>



<a name="163189717"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163189717" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163189717">(Apr 12 2019 at 13:35)</a>:</h4>
<p>is that referring to something in cargo?</p>



<a name="163189729"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163189729" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163189729">(Apr 12 2019 at 13:35)</a>:</h4>
<p>i.e., each node represents a crate?</p>



<a name="163189768"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163189768" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163189768">(Apr 12 2019 at 13:35)</a>:</h4>
<blockquote>
<p>in the cargo run, we use the <code>Executor</code> trait there, where Cargo is responsible for coordinating the jobs, however on its own it spawns the command whereas we execute the compilation in-process</p>
</blockquote>
<p>I presume this is also some kind of hook that cargo provides -- the ability to control execution so that it runs in-process?</p>



<a name="163189858"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163189858" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163189858">(Apr 12 2019 at 13:36)</a>:</h4>
<p>if I am understanding this correctly, <span class="user-mention" data-user-id="153740">@Igor Matuszewski</span>, then the parallelism you are hoping to exploit would be between crates? (i.e., what cargo normally gets you)</p>



<a name="163189905"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163189905" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163189905">(Apr 12 2019 at 13:36)</a>:</h4>
<blockquote>
<p>if I am understanding this correctly, <span class="user-mention silent" data-user-id="153740">Igor Matuszewski</span>, then the parallelism you are hoping to exploit would be between crates? (i.e., what cargo normally gets you)</p>
</blockquote>
<p>yup, which might be prominent in bigger workspaces where we don't have an obvious linear dep chain between primary packages but some of those may be spread out</p>



<a name="163189970"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163189970" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163189970">(Apr 12 2019 at 13:37)</a>:</h4>
<p>yes, my experience with the RLS has often been that</p>



<a name="163189971"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163189971" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163189971">(Apr 12 2019 at 13:37)</a>:</h4>
<blockquote>
<blockquote>
<p>so the current setup is we run cargo, let the inner dep nodes output the JSON blob (and we also don't intercept <a href="http://build.rs" target="_blank" title="http://build.rs">build.rs</a> runs)</p>
</blockquote>
<p>what are "dep nodes" here?</p>
</blockquote>
<p>by dep node I mean a crate to be compiled (bin, lib, <a href="http://build.rs" target="_blank" title="http://build.rs">build.rs</a>) in the crate dep graph</p>



<a name="163189982"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163189982" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163189982">(Apr 12 2019 at 13:37)</a>:</h4>
<p>it works "ok" if you have a single crate</p>



<a name="163189994"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163189994" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163189994">(Apr 12 2019 at 13:37)</a>:</h4>
<p>but workspaces .. not so well</p>



<a name="163189995"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163189995" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163189995">(Apr 12 2019 at 13:37)</a>:</h4>
<p>and maybe this is why</p>



<a name="163190051"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163190051" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163190051">(Apr 12 2019 at 13:38)</a>:</h4>
<blockquote>
<p>it works "ok" if you have a single crate</p>
</blockquote>
<p>to be clear, by this I mean "it could definitely still be snappier" :)</p>



<a name="163190057"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163190057" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163190057">(Apr 12 2019 at 13:38)</a>:</h4>
<p>that definitely contributes - right now we use naive linear compilation queue</p>



<a name="163190071"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163190071" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163190071">(Apr 12 2019 at 13:38)</a>:</h4>
<p>but I guess that the single crate scenario is not going to be helped here</p>



<a name="163190180"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163190180" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163190180">(Apr 12 2019 at 13:39)</a>:</h4>
<p>which case is the most important to address?</p>



<a name="163190201"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163190201" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163190201">(Apr 12 2019 at 13:39)</a>:</h4>
<p>for a single crate scenario it'd be ideal to either be able to ask for a 'portion' of save-analysis to be incrementally updated (something that still needs to be implemented in the rls-analysis) or even better to use rustc as a deamon and ask for analysis directly</p>



<a name="163190256"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163190256" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163190256">(Apr 12 2019 at 13:40)</a>:</h4>
<p>(but that's changing a lot of arch at this point)</p>



<a name="163190297"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163190297" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163190297">(Apr 12 2019 at 13:40)</a>:</h4>
<p>seems like if we cannot scale to workspaces, while single crate is "okay but not great", then we should prioritize workspaces</p>



<a name="163190319"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163190319" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163190319">(Apr 12 2019 at 13:40)</a>:</h4>
<p>I think I agree with that</p>



<a name="163190326"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163190326" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163190326">(Apr 12 2019 at 13:40)</a>:</h4>
<p>because in the end, if we cannot scale, we fail, right?</p>



<a name="163190360"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163190360" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163190360">(Apr 12 2019 at 13:40)</a>:</h4>
<p>("fail" as in the tool won't be used)</p>



<a name="163190363"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163190363" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163190363">(Apr 12 2019 at 13:40)</a>:</h4>
<p>yeah, I think we'll have more and more workspace users and the linear approach definitely holds us back here</p>



<a name="163190396"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163190396" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163190396">(Apr 12 2019 at 13:41)</a>:</h4>
<blockquote>
<p>(but that's changing a lot of arch at this point)</p>
</blockquote>
<p>I'd like to drill into this a bit more -- I feel like it may be worth putting energy here, but it's probably correct that we should do this <em>after</em> we try to get parallelism for workspaces?</p>



<a name="163190413"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163190413" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163190413">(Apr 12 2019 at 13:41)</a>:</h4>
<p>this is also visible with many Cargo integration tests, which are seen by Cargo as separate crates - these are also unfortunately compiled linearly</p>



<a name="163190521"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163190521" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163190521">(Apr 12 2019 at 13:42)</a>:</h4>
<p>so the single crate scenario might be also somewhat affected if there are a lot of <code>cfg(test)</code> crates to be analyzed as well (right now, by default, we analyze every Cargo crate target)</p>



<a name="163190569"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163190569" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163190569">(Apr 12 2019 at 13:42)</a>:</h4>
<p>ok so it sounds like we are saying that the rls 1.0 top priority right now is improving workspace performance, primarily through parallelization. maybe next priority would be improving response time for single crates, or maybe other feature work, that isn't decided yet.</p>



<a name="163190663"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163190663" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163190663">(Apr 12 2019 at 13:44)</a>:</h4>
<p>Yup, sounds good</p>



<a name="163190740"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163190740" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163190740">(Apr 12 2019 at 13:44)</a>:</h4>
<p>a functional feature that would be nice to tackle is to support more (non-Cargo) project layouts somehow to improve the tool usability</p>



<a name="163190747"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163190747" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163190747">(Apr 12 2019 at 13:44)</a>:</h4>
<p>(I'd like to return a bit to the "RLS 1.0" and "RLS 2.0" questions, then, unless there is more we should discuss now.)</p>



<a name="163190757"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163190757" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163190757">(Apr 12 2019 at 13:44)</a>:</h4>
<p>but that's not the top priority</p>



<a name="163190766"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163190766" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163190766">(Apr 12 2019 at 13:44)</a>:</h4>
<blockquote>
<p>a functional feature that would be nice to tackle is to support more (non-Cargo) project layouts somehow to improve the tool usability</p>
</blockquote>
<p>yes, prime example perhaps being rustc itself?</p>



<a name="163190826"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163190826" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163190826">(Apr 12 2019 at 13:45)</a>:</h4>
<p>but I've definitely heard from multiple production users that they cannot use RLS 1.0 for this reason -- otoh they are all using rust-analyzer</p>



<a name="163190836"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163190836" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163190836">(Apr 12 2019 at 13:45)</a>:</h4>
<p>which, might be ok</p>



<a name="163190839"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163190839" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Zoxc <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163190839">(Apr 12 2019 at 13:45)</a>:</h4>
<p>Why doesn't RLS use rustc queries directly?</p>



<a name="163190860"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163190860" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163190860">(Apr 12 2019 at 13:45)</a>:</h4>
<p>the support is surprisingly okay, but works better when initialized in the crate directly (e.g. <code>librustc_save_analysis/</code>)</p>



<a name="163190867"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163190867" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163190867">(Apr 12 2019 at 13:45)</a>:</h4>
<blockquote>
<p>so the single crate scenario might be also somewhat affected if there are a lot of <code>cfg(test)</code> crates to be analyzed as well (right now, by default, we analyze every Cargo crate target)</p>
</blockquote>
<p>regarding this point: I am curious about whether the user experience here is that, from the RLS point of view, all the tests are always part of the analysis?</p>



<a name="163190891"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163190891" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163190891">(Apr 12 2019 at 13:45)</a>:</h4>
<blockquote>
<p>Why doesn't RLS use rustc queries directly?</p>
</blockquote>
<p>that was one of the things we were talking about as a possible refactoring</p>



<a name="163190948"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163190948" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163190948">(Apr 12 2019 at 13:46)</a>:</h4>
<blockquote>
<p>the support is surprisingly okay, but works better when initialized in the crate directly (e.g. <code>librustc_save_analysis/</code>)</p>
</blockquote>
<p>support for what exactly? in rustc you mean?</p>



<a name="163190953"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163190953" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163190953">(Apr 12 2019 at 13:46)</a>:</h4>
<p>in other words, are they always paying for the overhead of analyzing and processing them? Is that overhead they want to pay for when they are trying to understand the <em>non</em>-test portin of their codebase?</p>



<a name="163190957"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163190957" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163190957">(Apr 12 2019 at 13:46)</a>:</h4>
<blockquote>
<p>Why doesn't RLS use rustc queries directly?</p>
</blockquote>
<p>that's part of the end-to-end-queries as I understand it, which seems like the end-goal, especially if we could combine it with cargo/rustc pipelining effort</p>



<a name="163191009"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163191009" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163191009">(Apr 12 2019 at 13:46)</a>:</h4>
<p>so one thing I did want to bring up <span class="user-mention" data-user-id="153740">@Igor Matuszewski</span>, regarding prioritizing parallelization for workspaces, is whether it would impact using rustc queries directly</p>



<a name="163191016"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163191016" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163191016">(Apr 12 2019 at 13:46)</a>:</h4>
<blockquote>
<p>in other words, are they always paying for the overhead of analyzing and processing them? Is that overhead they want to pay for when they are trying to understand the <em>non</em>-test portin of their codebase?</p>
</blockquote>
<p>not sure I get it, but if we always want them to be analyzed, then potentially on every lib change we need to reanalyze cfg tests because something might have changed upstream</p>



<a name="163191017"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163191017" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Zoxc <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163191017">(Apr 12 2019 at 13:46)</a>:</h4>
<p>Does RLS predate queries? =P</p>



<a name="163191033"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163191033" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163191033">(Apr 12 2019 at 13:47)</a>:</h4>
<p>Yes</p>



<a name="163191090"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163191090" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163191090">(Apr 12 2019 at 13:47)</a>:</h4>
<blockquote>
<p>if we always want them to be analyzed</p>
</blockquote>
<p>I guess this "if" here is what I'm interested in</p>



<a name="163191153"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163191153" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163191153">(Apr 12 2019 at 13:48)</a>:</h4>
<blockquote>
<p>(I'd like to return a bit to the "RLS 1.0" and "RLS 2.0" questions, then, unless there is more we should discuss now.)</p>
</blockquote>
<p>regarding this topic -- maybe we should schedule another time to chat, this time with <span class="user-mention" data-user-id="133169">@matklad</span> and maybe <span class="user-mention" data-user-id="129457">@Florian Diebold</span> -- and dig into this</p>



<a name="163191161"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163191161" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163191161">(Apr 12 2019 at 13:48)</a>:</h4>
<p>(I don't know enough about RLS usage to know how it interacts with cfg-flags)</p>



<a name="163191166"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163191166" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163191166">(Apr 12 2019 at 13:48)</a>:</h4>
<blockquote>
<blockquote>
<p>if we always want them to be analyzed</p>
</blockquote>
<p>I guess this "if" here is what I'm interested in</p>
</blockquote>
<p>that's our default setting, we could disable it now but a lot of users are surprised because they're not</p>



<a name="163191173"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163191173" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163191173">(Apr 12 2019 at 13:48)</a>:</h4>
<p>in particular <span class="user-mention" data-user-id="133169">@matklad</span> was asking me about nomenclature already, I think we both agreed we don't love RLS 2.0</p>



<a name="163191186"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163191186" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163191186">(Apr 12 2019 at 13:48)</a>:</h4>
<p>if we parallelize this here then the overhead of linear compilation of cfg(test) targets shouldn't matter that much</p>



<a name="163191189"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163191189" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163191189">(Apr 12 2019 at 13:48)</a>:</h4>
<p>and I really feel like I want the RLS to be more "first class" in our team</p>



<a name="163191207"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163191207" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163191207">(Apr 12 2019 at 13:49)</a>:</h4>
<p>and having a working group around it seems like an obvious way to do that</p>



<a name="163191229"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163191229" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163191229">(Apr 12 2019 at 13:49)</a>:</h4>
<blockquote>
<p>so one thing I did want to bring up <span class="user-mention silent" data-user-id="153740">Igor Matuszewski</span>, regarding prioritizing parallelization for workspaces, is whether it would impact using rustc queries directly</p>
</blockquote>
<p>it would unfortunately - by doing stuff out of process we technically lose the API access to rustc internals</p>



<a name="163191252"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163191252" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163191252">(Apr 12 2019 at 13:49)</a>:</h4>
<p>but that might be sort of okay until the end-to-end queries story matures somehow?</p>



<a name="163191354"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163191354" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163191354">(Apr 12 2019 at 13:50)</a>:</h4>
<p>I think a major question is</p>



<a name="163191364"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163191364" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163191364">(Apr 12 2019 at 13:50)</a>:</h4>
<p>do we ever expect to transition RLS away from save-analysis to queries</p>



<a name="163191365"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163191365" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163191365">(Apr 12 2019 at 13:50)</a>:</h4>
<p>maybe WG-RLS with "1.0" and "2.0" subgroups work? (although I'm afraid to overhierachize this, e.g. WG-RLS/2.0/chalk subsubgroup)</p>



<a name="163191400"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163191400" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163191400">(Apr 12 2019 at 13:51)</a>:</h4>
<blockquote>
<p>do we ever expect to transition RLS away from save-analysis to queries</p>
</blockquote>
<p>like, I think at some point we need to pick a lane and stay in it</p>



<a name="163191408"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163191408" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163191408">(Apr 12 2019 at 13:51)</a>:</h4>
<p>and maybe the answer is that we are going to push on the rust-analyzer approach</p>



<a name="163191413"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163191413" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163191413">(Apr 12 2019 at 13:51)</a>:</h4>
<p>I think save-analysis as a format definitely has value</p>



<a name="163191417"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163191417" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163191417">(Apr 12 2019 at 13:51)</a>:</h4>
<p>to be used in code indexers and such</p>



<a name="163191432"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163191432" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163191432">(Apr 12 2019 at 13:51)</a>:</h4>
<blockquote>
<p>it would unfortunately - by doing stuff out of process we technically lose the API access to rustc internals</p>
</blockquote>
<p>I'm not entirely sure how much this matter btw</p>



<a name="163191434"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163191434" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163191434">(Apr 12 2019 at 13:51)</a>:</h4>
<p>(e.g. Microsoft started LSIF standard to improve that, similar to LSP)</p>



<a name="163191442"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163191442" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163191442">(Apr 12 2019 at 13:51)</a>:</h4>
<p>i.e., we could have the processes communicating using IPC or something</p>



<a name="163191451"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163191451" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163191451">(Apr 12 2019 at 13:52)</a>:</h4>
<p>but the end-goal would be for IDEs to uses queries directly, I believe</p>



<a name="163191503"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163191503" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163191503">(Apr 12 2019 at 13:52)</a>:</h4>
<p>I think the end-goal is for the IDEs to "use queries", but not necessarily <em>in process</em></p>



<a name="163191518"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163191518" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163191518">(Apr 12 2019 at 13:52)</a>:</h4>
<p>but definitely for rustc to be resident</p>



<a name="163191519"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163191519" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163191519">(Apr 12 2019 at 13:52)</a>:</h4>
<p>i.e., daemon-like</p>



<a name="163191525"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163191525" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163191525">(Apr 12 2019 at 13:52)</a>:</h4>
<p>yeah, that makes sense as well</p>



<a name="163191557"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163191557" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163191557">(Apr 12 2019 at 13:53)</a>:</h4>
<p>I guess it seems like shifting to using rustc + save-analysis out of process is, in <em>some sense</em>, a step in the "wrong direction" architecturally, but still maybe the right move :)</p>



<a name="163191562"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163191562" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163191562">(Apr 12 2019 at 13:53)</a>:</h4>
<p>I guess it depends how mcuh work it is</p>



<a name="163191576"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163191576" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163191576">(Apr 12 2019 at 13:53)</a>:</h4>
<p>and whether it would make it much harder later on to try and adopt the daemon, query-like approach</p>



<a name="163191599"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163191599" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163191599">(Apr 12 2019 at 13:53)</a>:</h4>
<p>I mean it seems clear we're going to want to compile crates in parallel regardless</p>



<a name="163191654"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163191654" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163191654">(Apr 12 2019 at 13:54)</a>:</h4>
<p>or at least we'll want parallelization, probably also intra-crate</p>



<a name="163191662"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163191662" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163191662">(Apr 12 2019 at 13:54)</a>:</h4>
<p>let me rephrase this</p>



<a name="163191673"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163191673" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163191673">(Apr 12 2019 at 13:54)</a>:</h4>
<p>the crate boundary is not necessarily meaningful, but it's clear we want parallelization</p>



<a name="163191689"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163191689" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163191689">(Apr 12 2019 at 13:54)</a>:</h4>
<p>(and I believe rust-analyzer, for example, has this today? it certainly has the ability to do it)</p>



<a name="163191735"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163191735" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163191735">(Apr 12 2019 at 13:55)</a>:</h4>
<p>anyway, steering meeting starting soon, this was useful</p>



<a name="163191737"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163191737" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163191737">(Apr 12 2019 at 13:55)</a>:</h4>
<p>one interesting case, if RLS is to still coordinate the editor side of things, is that we'd have to support some sort of a inter-process VFS</p>



<a name="163191747"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163191747" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163191747">(Apr 12 2019 at 13:55)</a>:</h4>
<p>so that rustc can use the editor in-memory buffers instead of the files on disk</p>



<a name="163191748"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163191748" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163191748">(Apr 12 2019 at 13:55)</a>:</h4>
<p>hmm</p>



<a name="163191831"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163191831" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163191831">(Apr 12 2019 at 13:56)</a>:</h4>
<p>which I'm not sure how to solve it yet, it's something worth having in mind</p>



<a name="163191839"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163191839" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163191839">(Apr 12 2019 at 13:56)</a>:</h4>
<p>can we just steal rust-analyzer's?</p>



<a name="163191846"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163191846" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163191846">(Apr 12 2019 at 13:56)</a>:</h4>
<p>I suppose that's not addressing the real problem of adding the plumbing for it</p>



<a name="163191860"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163191860" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163191860">(Apr 12 2019 at 13:56)</a>:</h4>
<p>(oh, and that's not inter-process, is it...)</p>



<a name="163191879"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163191879" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163191879">(Apr 12 2019 at 13:57)</a>:</h4>
<p>RLS has its VFS implementation - the real challenge is for spawned rustc instances to use it</p>



<a name="163191890"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163191890" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> matklad <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163191890">(Apr 12 2019 at 13:57)</a>:</h4>
<p>it's not, but it should be possible to make it so</p>



<a name="163191921"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163191921" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> matklad <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163191921">(Apr 12 2019 at 13:57)</a>:</h4>
<p><span class="user-mention" data-user-id="153740">@Igor Matuszewski</span> can't we just write a small <code>FileLoader</code> in the rustc which opens a unix-socket or something like that?</p>



<a name="163191982"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163191982" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> matklad <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163191982">(Apr 12 2019 at 13:58)</a>:</h4>
<p>Or, rather, can we just have pass modified files as "input" to rustc?</p>



<a name="163192015"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163192015" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> matklad <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163192015">(Apr 12 2019 at 13:58)</a>:</h4>
<p>like <code>--memfile foo.rs= "fn main {}"</code>...</p>



<a name="163192049"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163192049" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> matklad <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163192049">(Apr 12 2019 at 13:59)</a>:</h4>
<p>Given that we should support only modified files, this doesn't seem like a perf bottlneck</p>



<a name="163192081"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163192081" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163192081">(Apr 12 2019 at 14:00)</a>:</h4>
<p><span class="user-mention" data-user-id="133169">@matklad</span> we could, the real difficulty would be to have a robust cross-platform implementation</p>



<a name="163192159"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163192159" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163192159">(Apr 12 2019 at 14:00)</a>:</h4>
<p>the args approach is interesting - what is the limit to shell invocation/args length?</p>



<a name="163192189"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163192189" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163192189">(Apr 12 2019 at 14:00)</a>:</h4>
<p><span class="user-mention" data-user-id="133169">@matklad</span> what do you think about finding a time to talk abut the whole rls 1.0 vs 2.0 naming + branding + overall strategy?</p>



<a name="163192199"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163192199" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> matklad <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163192199">(Apr 12 2019 at 14:00)</a>:</h4>
<p>I'd love to do that, yeah</p>



<a name="163192210"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163192210" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163192210">(Apr 12 2019 at 14:00)</a>:</h4>
<p>somebody make a doodle :P</p>



<a name="163192225"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163192225" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163192225">(Apr 12 2019 at 14:01)</a>:</h4>
<p>I'm very busy today, or i'd say let's just do later today</p>



<a name="163192241"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163192241" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> matklad <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163192241">(Apr 12 2019 at 14:01)</a>:</h4>
<p>not today: on <span aria-label="fire" class="emoji emoji-1f525" role="img" title="fire">:fire:</span> prepping the lecture :D</p>



<a name="163192242"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163192242" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163192242">(Apr 12 2019 at 14:01)</a>:</h4>
<p>but early next week sems good</p>



<a name="163192380"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163192380" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163192380">(Apr 12 2019 at 14:02)</a>:</h4>
<p><span aria-label="thumbs up" class="emoji emoji-1f44d" role="img" title="thumbs up">:thumbs_up:</span></p>



<a name="163192460"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163192460" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> matklad <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163192460">(Apr 12 2019 at 14:03)</a>:</h4>
<p><span class="user-mention" data-user-id="153740">@Igor Matuszewski</span> could you make a doodle? I'll forget (offtopic: is it possible to mark 1-hr chunks en-masse in doodle?) by the end of the lecture</p>



<a name="163192544"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163192544" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163192544">(Apr 12 2019 at 14:04)</a>:</h4>
<p>yup, will do</p>



<a name="163192552"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163192552" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163192552">(Apr 12 2019 at 14:04)</a>:</h4>
<p>for the next week?</p>



<a name="163192692"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163192692" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> matklad <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163192692">(Apr 12 2019 at 14:05)</a>:</h4>
<p>yep</p>



<a name="163192758"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163192758" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> matklad <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163192758">(Apr 12 2019 at 14:06)</a>:</h4>
<p>Thanks!</p>



<a name="163193092"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163193092" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163193092">(Apr 12 2019 at 14:09)</a>:</h4>
<blockquote>
<p><span class="user-mention silent" data-user-id="153740">Igor Matuszewski</span> could you make a doodle? I'll forget (offtopic: is it possible to mark 1-hr chunks en-masse in doodle?) by the end of the lecture</p>
</blockquote>
<p>it sort of is -- if you go to the weekly view, you can at least repeat the days very easily</p>



<a name="163336103"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163336103" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163336103">(Apr 14 2019 at 21:34)</a>:</h4>
<p>Went away for the weekend so made the poll just now: <a href="https://doodle.com/poll/xmz2ckttftaw7d2y" target="_blank" title="https://doodle.com/poll/xmz2ckttftaw7d2y">https://doodle.com/poll/xmz2ckttftaw7d2y</a></p>



<a name="163336172"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163336172" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163336172">(Apr 14 2019 at 21:36)</a>:</h4>
<p>Which means it might be hard to schedule early Monday morning but please write down your availability, the date will be picked by the end of tomorrow if there will be no strong preference for a single time slot</p>



<a name="163336186"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163336186" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163336186">(Apr 14 2019 at 21:36)</a>:</h4>
<p><span class="user-mention" data-user-id="133169">@matklad</span> <span class="user-mention" data-user-id="116009">@nikomatsakis</span> <span class="user-mention" data-user-id="116083">@pnkfelix</span> <span aria-label="point up" class="emoji emoji-1f446" role="img" title="point up">:point_up:</span></p>



<a name="163336189"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163336189" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163336189">(Apr 14 2019 at 21:36)</a>:</h4>
<p>should I cc rls 2.0 WG as well?</p>



<a name="163418419"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163418419" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163418419">(Apr 15 2019 at 21:36)</a>:</h4>
<p><span class="user-mention" data-user-id="116009">@nikomatsakis</span> could you fill the poll today/tomorrow if you prefer early this week?</p>



<a name="163461367"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163461367" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> detrumi <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163461367">(Apr 16 2019 at 11:44)</a>:</h4>
<p>The meeting will be on Zulip right? (and not in a Zoom call)</p>



<a name="163461588"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163461588" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163461588">(Apr 16 2019 at 11:48)</a>:</h4>
<p>(i have no strong preference for the medium of communication. i'm assuming Zulip. but i have no problem with Zoom.)</p>



<a name="163469166"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163469166" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163469166">(Apr 16 2019 at 13:32)</a>:</h4>
<p>+1 to Zulip</p>



<a name="163469171"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163469171" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163469171">(Apr 16 2019 at 13:32)</a>:</h4>
<p>sorry <span class="user-mention" data-user-id="153740">@Igor Matuszewski</span> for not participating but the time looks good to me</p>



<a name="163554172"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163554172" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> detrumi <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163554172">(Apr 17 2019 at 12:07)</a>:</h4>
<p>^ starting in about an hour</p>



<a name="163554245"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163554245" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163554245">(Apr 17 2019 at 12:08)</a>:</h4>
<p>I'm sure you got the invite but just in case - <a href="https://paper.dropbox.com/doc/Meeting-notes-RLS-1.0-2.0-brandingstrategy--AbbU0brN20uW8EHVrWwq50MEAg-xBajGKDvnVoyzJZUGSzhZ" target="_blank" title="https://paper.dropbox.com/doc/Meeting-notes-RLS-1.0-2.0-brandingstrategy--AbbU0brN20uW8EHVrWwq50MEAg-xBajGKDvnVoyzJZUGSzhZ">https://paper.dropbox.com/doc/Meeting-notes-RLS-1.0-2.0-brandingstrategy--AbbU0brN20uW8EHVrWwq50MEAg-xBajGKDvnVoyzJZUGSzhZ</a> (not sure how much should we document explicitly if there's a conversation history here)</p>



<a name="163554252"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163554252" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163554252">(Apr 17 2019 at 12:08)</a>:</h4>
<p>Feel free to add items to the agenda</p>



<a name="163554257"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163554257" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> detrumi <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163554257">(Apr 17 2019 at 12:09)</a>:</h4>
<p>Yes, just noticed it. <span aria-label="+1" class="emoji emoji-1f44d" role="img" title="+1">:+1:</span></p>



<a name="163554508"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163554508" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> detrumi <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163554508">(Apr 17 2019 at 12:12)</a>:</h4>
<p>We don't need to write down everything we talked about in detail, but a high-level overview of the main points is always nice</p>



<a name="163557546"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163557546" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163557546">(Apr 17 2019 at 13:00)</a>:</h4>
<p><span aria-label="wave" class="emoji emoji-1f44b" role="img" title="wave">:wave:</span></p>



<a name="163557564"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163557564" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163557564">(Apr 17 2019 at 13:01)</a>:</h4>
<p>since the info was posted here, I think we might continue here as well</p>



<a name="163557572"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163557572" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163557572">(Apr 17 2019 at 13:01)</a>:</h4>
<p>unless you prefer otherwise</p>



<a name="163557663"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163557663" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> detrumi <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163557663">(Apr 17 2019 at 13:02)</a>:</h4>
<p><span class="user-mention" data-user-id="116009">@nikomatsakis</span> Are you around?</p>



<a name="163557729"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163557729" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> detrumi <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163557729">(Apr 17 2019 at 13:03)</a>:</h4>
<p>Let's start anyway <span aria-label="slight smile" class="emoji emoji-1f642" role="img" title="slight smile">:slight_smile:</span></p>



<a name="163557738"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163557738" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163557738">(Apr 17 2019 at 13:03)</a>:</h4>
<p>On a high level it'd be good to discuss about the RLS 1.0 and 2.0, more specifically how we should talk about it and what's our strategy about it</p>



<a name="163557750"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163557750" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163557750">(Apr 17 2019 at 13:03)</a>:</h4>
<p>so</p>



<a name="163557759"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163557759" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163557759">(Apr 17 2019 at 13:03)</a>:</h4>
<p>I admit I haven't been following stuff too too closely</p>



<a name="163557764"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163557764" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163557764">(Apr 17 2019 at 13:03)</a>:</h4>
<p>I know that <span class="user-mention" data-user-id="116009">@nikomatsakis</span> briefly mentioned an idea about WG-RLS-1.0 - I'm not sure whether we should do it and if so what would be the benefits</p>



<a name="163557818"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163557818" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163557818">(Apr 17 2019 at 13:04)</a>:</h4>
<p>no worries</p>



<a name="163557822"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163557822" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163557822">(Apr 17 2019 at 13:04)</a>:</h4>
<p>but my understanding was that RLS 2.0 was (and is) an <em>experiment</em> to determine if we can leverage the work of rust-analyzer to make a better foundation</p>



<a name="163557854"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163557854" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163557854">(Apr 17 2019 at 13:04)</a>:</h4>
<p>for a future RLS (and that might also tie into the future of rustc itself)</p>



<a name="163557885"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163557885" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163557885">(Apr 17 2019 at 13:05)</a>:</h4>
<p><span aria-label="wave" class="emoji emoji-1f44b" role="img" title="wave">:wave:</span></p>



<a name="163557891"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163557891" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163557891">(Apr 17 2019 at 13:05)</a>:</h4>
<p>so this idea of a WG-RLS-1.0 ... I would assume would be dedicated to addressing issues in the RLS <em>as it exists today</em> ?</p>



<a name="163557912"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163557912" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163557912">(Apr 17 2019 at 13:05)</a>:</h4>
<p>ah well maybe <span class="user-mention" data-user-id="116009">@nikomatsakis</span> can explain</p>



<a name="163557916"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163557916" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163557916">(Apr 17 2019 at 13:05)</a>:</h4>
<p>Agreed - I think it's worth underlining that RLS is available now and shipped officially and it sort of works in most of the cases and keep the RLS 2.0 on the experimental/future side</p>



<a name="163557986"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163557986" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163557986">(Apr 17 2019 at 13:06)</a>:</h4>
<p>Since it's a first item on the list and we're discussing it now - <span class="user-mention" data-user-id="116009">@nikomatsakis</span> could you explain more what you have in mind with the WG RLS 1.0 idea?</p>



<a name="163558008"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163558008" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163558008">(Apr 17 2019 at 13:06)</a>:</h4>
<p>Yes I mean roughly what I was thinking is (a) the RLS 1.0 exists and has users and is our official IDE :)</p>



<a name="163558010"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163558010" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163558010">(Apr 17 2019 at 13:06)</a>:</h4>
<p>so we should definitely be supporting it</p>



<a name="163558013"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163558013" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163558013">(Apr 17 2019 at 13:06)</a>:</h4>
<p>as in, tracking bugs, fixing them</p>



<a name="163558019"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163558019" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163558019">(Apr 17 2019 at 13:06)</a>:</h4>
<p>we should also be considering improvements and extensions</p>



<a name="163558047"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163558047" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163558047">(Apr 17 2019 at 13:07)</a>:</h4>
<p>One thing that I raised in the rust dev tools meething yday is that we struggle with contributors now</p>



<a name="163558058"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163558058" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163558058">(Apr 17 2019 at 13:07)</a>:</h4>
<p>Yes, that was part of my thinking</p>



<a name="163558074"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163558074" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163558074">(Apr 17 2019 at 13:07)</a>:</h4>
<p>we did an issue triage and cleaned things up a bit to improve the contributability factor but I think we should improve in that area</p>



<a name="163558078"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163558078" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163558078">(Apr 17 2019 at 13:07)</a>:</h4>
<p>on the other hand, so long as we are pursuing a "new and exciting" RLS 2.0 this is possibly to be expected</p>



<a name="163558104"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163558104" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163558104">(Apr 17 2019 at 13:07)</a>:</h4>
<p>(still need to talk to <span class="user-mention" data-user-id="132040">@Manish Goregaokar</span> what might be a good thing to do)</p>



<a name="163558161"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163558161" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163558161">(Apr 17 2019 at 13:08)</a>:</h4>
<p>basically I'm concerned that right now the only person really following the details there is <span class="user-mention" data-user-id="153740">@Igor Matuszewski</span></p>



<a name="163558231"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163558231" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163558231">(Apr 17 2019 at 13:09)</a>:</h4>
<p>That is true right now, unfortunately</p>



<a name="163558232"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163558232" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> detrumi <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163558232">(Apr 17 2019 at 13:09)</a>:</h4>
<p>Well, it feels like many people are moving to RLS2 already, as RLS2+<code>cargo watch</code> already works better for many people than the old RLS</p>



<a name="163558305"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163558305" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> matklad <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163558305">(Apr 17 2019 at 13:10)</a>:</h4>
<p>This I think is the key question: when do we expect rls2 to be generally useful?</p>



<a name="163558318"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163558318" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163558318">(Apr 17 2019 at 13:10)</a>:</h4>
<p>It definitely seems like one option is to just try and adopt RLS 2.0</p>



<a name="163558319"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163558319" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163558319">(Apr 17 2019 at 13:10)</a>:</h4>
<p>the main pain point is latency for RLS1.0 I believe, and rightfully so</p>



<a name="163558329"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163558329" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163558329">(Apr 17 2019 at 13:10)</a>:</h4>
<blockquote>
<p>This I think is the key question: when do we expect rls2 to be generally useful?</p>
</blockquote>
<p>I think part of the problem here is defining what <em>generally useful</em> means more precisely</p>



<a name="163558344"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163558344" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163558344">(Apr 17 2019 at 13:10)</a>:</h4>
<p>It would be nice if we could have some kind of checklist of like "these are the things we would need to have working, and a set of crates they have to be working on"</p>



<a name="163558376"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163558376" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163558376">(Apr 17 2019 at 13:11)</a>:</h4>
<blockquote>
<p>the main pain point is latency for RLS1.0 I believe, and rightfully so</p>
</blockquote>
<p>that makes sense to me -- but i'm not entirely sure if it's true</p>



<a name="163558380"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163558380" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> matklad <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163558380">(Apr 17 2019 at 13:11)</a>:</h4>
<p>I think the better definition would be "when users are more satisfied with it"</p>



<a name="163558385"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163558385" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163558385">(Apr 17 2019 at 13:11)</a>:</h4>
<p>maybe it all comes down to latency</p>



<a name="163558392"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163558392" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163558392">(Apr 17 2019 at 13:11)</a>:</h4>
<blockquote>
<p>I think the better definition would be "when users are more satisfied with it"</p>
</blockquote>
<p>that..doesn't feel better to me :) it seems sort of unactionable.</p>



<a name="163558397"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163558397" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163558397">(Apr 17 2019 at 13:11)</a>:</h4>
<p>there's one thing to keep in mind and that's parity with the compiler</p>



<a name="163558408"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163558408" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> matklad <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163558408">(Apr 17 2019 at 13:11)</a>:</h4>
<p>as in, it's hard to predict which features are crucial for workdlow</p>



<a name="163558474"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163558474" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163558474">(Apr 17 2019 at 13:12)</a>:</h4>
<blockquote>
<p>there's one thing to keep in mind and that's parity with the compiler</p>
</blockquote>
<p>yes, you mean, as we implement new features and the like</p>



<a name="163558481"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163558481" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163558481">(Apr 17 2019 at 13:12)</a>:</h4>
<p>it's great to have the IDE do the right thing most of the time... I'm not sure about the times when it doesn't</p>



<a name="163558516"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163558516" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> detrumi <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163558516">(Apr 17 2019 at 13:12)</a>:</h4>
<p>Latency is a big one, but the rls doesn't work for big codebases for other reasons than latency, AFAIK</p>



<a name="163558518"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163558518" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163558518">(Apr 17 2019 at 13:12)</a>:</h4>
<p>in a way I believe we should converge to a model where we have rustc-as-a-language-server as a daemon we can throw requests at</p>



<a name="163558541"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163558541" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Florian Diebold <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163558541">(Apr 17 2019 at 13:13)</a>:</h4>
<p>latency isn't the only thing -- correct me if I'm wrong, but I think RLS's architecture makes it very hard to implement new assists and so on</p>



<a name="163558555"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163558555" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> matklad <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163558555">(Apr 17 2019 at 13:13)</a>:</h4>
<blockquote>
<p>it seems sort of unactionable.</p>
</blockquote>
<p>Agree here. I currently have no idea about how much rls2 is actually used in the wild: we don't have any telemetry.</p>



<a name="163558557"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163558557" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163558557">(Apr 17 2019 at 13:13)</a>:</h4>
<p>RLS 1.0 doesn't operate on AST directly</p>



<a name="163558629"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163558629" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163558629">(Apr 17 2019 at 13:14)</a>:</h4>
<p>it asks the compiler to traverse it, dump all the data and the internal "index db" backend collects that and lets the RLS answer all the relevant language queries</p>



<a name="163558649"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163558649" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> matklad <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163558649">(Apr 17 2019 at 13:14)</a>:</h4>
<blockquote>
<p>in a way I believe we should converge to a </p>
</blockquote>
<p>+1 to the idea of convergance. The approach with out of process rustc might actually allow us to get the best of both worlds in a single codebase</p>



<a name="163558651"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163558651" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163558651">(Apr 17 2019 at 13:14)</a>:</h4>
<p>I think we should step back a <em>hair</em> here -- and try to identify the aims of this meeting a bit? I'm not sure for example whether I consider it 'in scope' for us right now to decide to focus purely on rust-analyzer, etc. Though we might think about trying to come up with "angles" on the discussion Basically looking at each of the plans and trying to identify the crucial questions involved.</p>



<a name="163558737"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163558737" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163558737">(Apr 17 2019 at 13:15)</a>:</h4>
<p>so right now there is a split between 1.0 and 2.0 - it'd be good to talk how these relate to each other and how should we brand this</p>



<a name="163558740"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163558740" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163558740">(Apr 17 2019 at 13:15)</a>:</h4>
<p>Main agenda items: 1. What would be mission of a hypothetical WG-RLS-1.0 ?, and 2. Do we form such a WG ?</p>



<a name="163558744"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163558744" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163558744">(Apr 17 2019 at 13:15)</a>:</h4>
<p>and also what to do with 1.0 now</p>



<a name="163558819"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163558819" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163558819">(Apr 17 2019 at 13:16)</a>:</h4>
<p>As with every software project, list of stuff to do is potentially endless when it comes to improving the 1.0</p>



<a name="163558841"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163558841" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163558841">(Apr 17 2019 at 13:16)</a>:</h4>
<p>it'd be good to tackle compiling out of process, improving projecy layout detection, incrementalizing and possibly parallelizing the rls-analysis (indexer) and so on</p>



<a name="163558866"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163558866" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163558866">(Apr 17 2019 at 13:17)</a>:</h4>
<p>so in that sense I believe WG-RLS-1.0 could find work to do, so that's not a problem</p>



<a name="163558868"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163558868" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163558868">(Apr 17 2019 at 13:17)</a>:</h4>
<blockquote>
<p>Main agenda items: 1. What would be mission of a hypothetical WG-RLS-1.0 ?, and 2. Do we form such a WG ?</p>
</blockquote>
<p>and perhaps a (3), what do we call "RLS 2.0" and how do we think about it? The name itself implies a certain... evolution that is perhaps not what we want to imply.</p>



<a name="163558999"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163558999" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> detrumi <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163558999">(Apr 17 2019 at 13:18)</a>:</h4>
<p>Maybe there's also improvements that benefit both RLS1 and RLS2</p>



<a name="163559008"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163559008" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163559008">(Apr 17 2019 at 13:18)</a>:</h4>
<p>I love the experiment and how it's capable right now, I'm mostly worried about the compiler parity and accuracy so as <span class="user-mention" data-user-id="116009">@nikomatsakis</span> I'm not sure that's a clear evolution path and what RLS 1.0 "should become"</p>



<a name="163559053"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163559053" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163559053">(Apr 17 2019 at 13:19)</a>:</h4>
<p>So the original plan as I understood it was roughly</p>
<p>1. We continue to support RLS as it exists today, but in <em>something</em> of a holding pattern.<br>
2. We evolve rust-analyzer (I'm going to stick with this name for now), trying to get it to the point of general usability.<br>
In particular, we aim to extend rust-analyzer by creating external crates that can be shared with rustc wherever possible, so as to improve rustc and rust-analyzer simultaneously. </p>
<p>Then, at some unspecified point, we try to figure out how to merge rustc and RA.</p>



<a name="163559147"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163559147" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163559147">(Apr 17 2019 at 13:20)</a>:</h4>
<p>Right, that's how I understood it initially</p>



<a name="163559151"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163559151" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163559151">(Apr 17 2019 at 13:20)</a>:</h4>
<p>the main problem that seems to have arisen</p>



<a name="163559152"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163559152" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163559152">(Apr 17 2019 at 13:20)</a>:</h4>
<p>The questions we're facing now are sort of obvious follow-ons from that I think:</p>
<ul>
<li>How exactly are we going to ensure RLS 1.0 maintenance happens?</li>
</ul>
<p>What kinds of features <em>do</em> we want to support? How much refactoring will we do? Are things like a rustc daemon "out of scope"?</p>
<ul>
<li>To the extent that rust-analyzer starts to get use, we have de facto two compilers to support, so how are we going to ensure feature parity between them and so forth?</li>
</ul>



<a name="163559172"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163559172" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163559172">(Apr 17 2019 at 13:20)</a>:</h4>
<p>is that we lack manpower/initiative to support RLS 1.0 ?</p>



<a name="163559178"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163559178" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163559178">(Apr 17 2019 at 13:20)</a>:</h4>
<p>The latter hasn't become a big problem yet but I think it will be</p>



<a name="163559201"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163559201" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163559201">(Apr 17 2019 at 13:20)</a>:</h4>
<p>I guess there is a third one</p>
<ul>
<li>How quickly can we start moving things into libraries</li>
</ul>
<p>That process is hard =)</p>



<a name="163559224"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163559224" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163559224">(Apr 17 2019 at 13:21)</a>:</h4>
<blockquote>
<p>is that we lack manpower/initiative to support RLS 1.0 ?</p>
</blockquote>
<p>And maybe RLS 2.0 =) I know that <span class="user-mention" data-user-id="133169">@matklad</span> has wished for more involvement, for example</p>



<a name="163559277"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163559277" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163559277">(Apr 17 2019 at 13:21)</a>:</h4>
<p>I wonder if we should put more emphasis into sharing and librarifying what we can to somehow amortize the cost of maintaining two compilers</p>



<a name="163559353"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163559353" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163559353">(Apr 17 2019 at 13:22)</a>:</h4>
<p>hmm.  I guess I know that <span class="user-mention" data-user-id="133169">@matklad</span> has wanted more involvement with RLS 2.0, but I had thought there at least were external contributors there. Am I wrong?</p>



<a name="163559370"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163559370" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163559370">(Apr 17 2019 at 13:22)</a>:</h4>
<blockquote>
<p>What kinds of features <em>do</em> we want to support? How much refactoring will we do? Are things like a rustc daemon "out of scope"?</p>
</blockquote>
<p>Thinking about this, I feel like there is a similarity here to the idea of introducing shared crates and so forth. That is -- in this case, by pursuing a rustc daemon, the <em>RLS codebase</em> is kind of evolving. This seems like a concept that rust-analyzer too may wind up wanting? (Although the main benefits I think are parallelism, which rust-analyzer can get in other ways?)</p>



<a name="163559375"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163559375" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163559375">(Apr 17 2019 at 13:22)</a>:</h4>
<p>(I'm mentally trying to compare contributions to RLS 1.0 vs RLS 2.0 ...)</p>



<a name="163559377"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163559377" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163559377">(Apr 17 2019 at 13:22)</a>:</h4>
<p>FWIW the save-analysis infrastructure should survive to support more code-indexer-oriented features (rather than lazy IDE ones)</p>



<a name="163559450"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163559450" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163559450">(Apr 17 2019 at 13:23)</a>:</h4>
<p>The "elephant in the room" perhaps is <span class="user-mention" data-user-id="119009">@eddyb</span>'s thoughts on evolving rustc itself. I know they've been talking about some more ideas here and I'd like to learn more about them. But basically there isn't universal consensus on some details from rust-analyzer.</p>



<a name="163559500"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163559500" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> matklad <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163559500">(Apr 17 2019 at 13:24)</a>:</h4>
<p><span class="user-mention" data-user-id="116083">@pnkfelix</span> there are awesome external contributors, but only two people who can do mentoring (me and <span class="user-mention" data-user-id="129457">@Florian Diebold</span> ). Given that rls2.0 is 90% E-needs-design, just the <em>volume</em> of contributors does not solve all of the problmesn</p>



<a name="163559549"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163559549" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163559549">(Apr 17 2019 at 13:24)</a>:</h4>
<p><span class="user-mention" data-user-id="116083">@pnkfelix</span> to measure manpower on the RLS 1.0, unfortunately right now it's me working on the project</p>



<a name="163559569"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163559569" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163559569">(Apr 17 2019 at 13:24)</a>:</h4>
<p>you mentioned at one point some other person who was regularly contributing, right?</p>



<a name="163559594"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163559594" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163559594">(Apr 17 2019 at 13:25)</a>:</h4>
<p>apart from an occasional contributor but retention seems to be low (is the project not accessible enough?)</p>



<a name="163559624"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163559624" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163559624">(Apr 17 2019 at 13:25)</a>:</h4>
<p><span class="user-mention" data-user-id="133169">@matklad</span> part of my motivation for this design meeting concept I talked about at the last steering meeting, btw, was helping to drive some of that design and discussion, although maybe it won't work as well for RLS2.0-specific experiments</p>



<a name="163559636"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163559636" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163559636">(Apr 17 2019 at 13:25)</a>:</h4>
<p>yes, @alexheretic but he's busy atm and mostly sporadically replies to issue reports now</p>



<a name="163559648"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163559648" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163559648">(Apr 17 2019 at 13:25)</a>:</h4>
<blockquote>
<p>apart from an occasional contributor but retention seems to be low (is the project not accessible enough?)</p>
</blockquote>
<p>maybe, but this is partly what I was hoping to address via a RLS working group</p>



<a name="163559652"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163559652" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163559652">(Apr 17 2019 at 13:26)</a>:</h4>
<p>i.e., maybe it's also visibility</p>



<a name="163559752"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163559752" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163559752">(Apr 17 2019 at 13:26)</a>:</h4>
<p>I <em>think</em> the RLS 2.0 brand makes it so that RLS 1.0 is marked as obsolete - it'd be good to step back and to think if that's the case</p>



<a name="163559773"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163559773" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163559773">(Apr 17 2019 at 13:26)</a>:</h4>
<p>do we want it to run parallel or to move towards 2.0</p>



<a name="163559777"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163559777" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163559777">(Apr 17 2019 at 13:26)</a>:</h4>
<p>Yes, I worry about that.</p>



<a name="163559793"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163559793" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163559793">(Apr 17 2019 at 13:27)</a>:</h4>
<p>I feel two conflicting things</p>



<a name="163559836"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163559836" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> matklad <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163559836">(Apr 17 2019 at 13:27)</a>:</h4>
<p>I guess the main problem is that we came up with branding <em>before</em> we came up with actual plan of action :-)</p>



<a name="163559861"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163559861" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Florian Diebold <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163559861">(Apr 17 2019 at 13:27)</a>:</h4>
<p>it doesn't seem to me like the RLS 2.0 brand is very visible outside this zulip though?</p>



<a name="163559943"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163559943" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163559943">(Apr 17 2019 at 13:28)</a>:</h4>
<p>On the one hand, I feel great about rust-analyzer, and I think that if we could just throw our energy behind such a design we could make fast progress.</p>
<p>On the other hand, I know that we in t-compiler have a habit of grand visions that take a long time to come to fruition, and our track record on doing the detailed, follow-on work is less good.</p>



<a name="163559984"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163559984" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163559984">(Apr 17 2019 at 13:28)</a>:</h4>
<p>so we want a label for RLS 2.0 that would simultaneously not scare away contributors from RLS 2.0 but also would not steal potential contributors to RLS 1.0 ?</p>



<a name="163560052"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163560052" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163560052">(Apr 17 2019 at 13:29)</a>:</h4>
<p>(that's assuming we <em>do</em> want to run in parallel; which is what <span class="user-mention" data-user-id="153740">@Igor Matuszewski</span> asked above...)</p>



<a name="163560059"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163560059" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163560059">(Apr 17 2019 at 13:29)</a>:</h4>
<p>Well, before we go there, let's ask this question:</p>
<p>Do we want to be doing maintenance and improvements to the existing RLS?</p>
<p>If so, I think we need to make good plans for doing that.</p>



<a name="163560063"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163560063" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163560063">(Apr 17 2019 at 13:29)</a>:</h4>
<p>I <em>believe</em> there is also clear path to improve RLS-rustc by putting more work into pipelining and which can also benefit rustc (with our current incremental/on-demand setup)</p>



<a name="163560138"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163560138" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> matklad <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163560138">(Apr 17 2019 at 13:30)</a>:</h4>
<p><span class="user-mention" data-user-id="116009">@nikomatsakis</span> let me ask another question :)</p>



<a name="163560161"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163560161" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> matklad <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163560161">(Apr 17 2019 at 13:30)</a>:</h4>
<p>Can it be the case that, for average user, rls2 is already more useful than rls?</p>



<a name="163560182"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163560182" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163560182">(Apr 17 2019 at 13:31)</a>:</h4>
<p>I think there are definitely users for which this is the case</p>



<a name="163560196"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163560196" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> matklad <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163560196">(Apr 17 2019 at 13:31)</a>:</h4>
<p>I think the answer is no (actually, I think yes, but I am biased), but it could be pretty close</p>



<a name="163560221"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163560221" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> matklad <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163560221">(Apr 17 2019 at 13:31)</a>:</h4>
<p>If we could <em>measure</em> this, that should inform the strategy better</p>



<a name="163560245"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163560245" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163560245">(Apr 17 2019 at 13:31)</a>:</h4>
<p>Yes. So this is an interesting thought.</p>



<a name="163560307"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163560307" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163560307">(Apr 17 2019 at 13:32)</a>:</h4>
<p>When we were writing up the roadmap, I remember struggling a bit with what to say about our RLS strategy</p>



<a name="163560322"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163560322" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163560322">(Apr 17 2019 at 13:32)</a>:</h4>
<p>It felt to me at that time that we had made a kind of momentous decision in the all hands</p>



<a name="163560331"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163560331" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163560331">(Apr 17 2019 at 13:32)</a>:</h4>
<p>without really admitting it to ourselves</p>



<a name="163560334"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163560334" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163560334">(Apr 17 2019 at 13:32)</a>:</h4>
<p>or doing widespread consultation</p>



<a name="163560343"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163560343" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163560343">(Apr 17 2019 at 13:32)</a>:</h4>
<p>in terms of calling something RLS 2.0</p>



<a name="163560381"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163560381" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> detrumi <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163560381">(Apr 17 2019 at 13:33)</a>:</h4>
<p>I'm not sure lots of bikeshedding would've helped (in terms of speed/initiative)</p>



<a name="163560390"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163560390" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163560390">(Apr 17 2019 at 13:33)</a>:</h4>
<p>I mean we talked about it :) but there is a kind of "whole product" aspect to this that feels a bit beyond the compiler team, in some sense</p>



<a name="163560416"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163560416" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163560416">(Apr 17 2019 at 13:33)</a>:</h4>
<p>Well, it's not so much about the technical design or even the <em>name</em></p>



<a name="163560440"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163560440" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163560440">(Apr 17 2019 at 13:33)</a>:</h4>
<p>But IDE  support is very important to the rust project</p>



<a name="163560444"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163560444" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163560444">(Apr 17 2019 at 13:33)</a>:</h4>
<p>Well for Rust, 2.0 can mean “is never going to arrive”</p>



<a name="163560463"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163560463" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> matklad <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163560463">(Apr 17 2019 at 13:33)</a>:</h4>
<p>100% agree. Descisions on all-hands were very ad-hoc, and with zero consultation with wider commnunity</p>



<a name="163560531"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163560531" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163560531">(Apr 17 2019 at 13:34)</a>:</h4>
<p>if we could tackle this from a slightly different angle - what are the pros/cons of commiting to either of the RLSes?</p>



<a name="163560548"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163560548" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163560548">(Apr 17 2019 at 13:34)</a>:</h4>
<p>does running both in parallel bring us net positive?</p>



<a name="163560579"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163560579" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163560579">(Apr 17 2019 at 13:34)</a>:</h4>
<p>I agree that immediate architecture of RLS 1.0 is limiting, whereas I imagine long-term investing a lot of work in the RLS 2.0 infra means we have two compilers</p>



<a name="163560622"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163560622" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163560622">(Apr 17 2019 at 13:35)</a>:</h4>
<p><span class="user-mention" data-user-id="133169">@matklad</span>  could we focus more on the sharing/librarification? Would that bring us some gains and limit the duplication of effort somehow?</p>



<a name="163560704"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163560704" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163560704">(Apr 17 2019 at 13:36)</a>:</h4>
<p>I imagine working directly on RLS 1.0 would mean more benefit to the actual rustc in terms of making it more IDE-friendly</p>



<a name="163560720"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163560720" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> matklad <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163560720">(Apr 17 2019 at 13:36)</a>:</h4>
<p>I guess, we already are focusing on sharing: chalk is shared, I am trying to extract rustc-lexer rigtht now, and, hopefully, tommorrow <span class="user-mention" data-user-id="116083">@pnkfelix</span> will come up with plan of extracting the name resolution</p>



<a name="163560888"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163560888" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> detrumi <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163560888">(Apr 17 2019 at 13:38)</a>:</h4>
<p>It doesn't feel like those efforts directly help RLS 1.0 though</p>



<a name="163560892"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163560892" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163560892">(Apr 17 2019 at 13:38)</a>:</h4>
<blockquote>
<p>100% agree. Descisions on all-hands were very ad-hoc, and with zero consultation with wider commnunity</p>
</blockquote>
<p>I'm trying to think what this consultation might look like.</p>



<a name="163560921"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163560921" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163560921">(Apr 17 2019 at 13:39)</a>:</h4>
<p>I think there are two angles here</p>



<a name="163560981"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163560981" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163560981">(Apr 17 2019 at 13:39)</a>:</h4>
<p>One question is what <span class="user-mention" data-user-id="133169">@matklad</span> raised -- what features do users want, and on what range of codebases?</p>



<a name="163561081"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163561081" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163561081">(Apr 17 2019 at 13:40)</a>:</h4>
<p>(Sorry, not ignoring the library comments, just continuing to think aloud)</p>



<a name="163561193"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163561193" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163561193">(Apr 17 2019 at 13:42)</a>:</h4>
<p>I'm not entirely sure what my second question was :)</p>



<a name="163561246"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163561246" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163561246">(Apr 17 2019 at 13:42)</a>:</h4>
<p>well, it'd be good to think what benefit do users have from using the either</p>



<a name="163561297"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163561297" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163561297">(Apr 17 2019 at 13:43)</a>:</h4>
<p>hm, I guess this duplicates the question what features do users want</p>



<a name="163561306"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163561306" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> matklad <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163561306">(Apr 17 2019 at 13:43)</a>:</h4>
<p>Should we run some kind of survey among users who tried both rls and rust-analyzer?</p>



<a name="163561316"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163561316" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163561316">(Apr 17 2019 at 13:43)</a>:</h4>
<p>I was thinking about that</p>



<a name="163561319"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163561319" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163561319">(Apr 17 2019 at 13:43)</a>:</h4>
<p>Should we ask people on IRLO about all of that?</p>



<a name="163561372"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163561372" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163561372">(Apr 17 2019 at 13:44)</a>:</h4>
<p>It's the obvious next step, if that's the question we're trying to answer</p>



<a name="163561389"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163561389" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163561389">(Apr 17 2019 at 13:44)</a>:</h4>
<p>I'm pretty sure people will mention RLS 1.0 as being unbearably sluggish <span aria-label="laughter tears" class="emoji emoji-1f602" role="img" title="laughter tears">:laughter_tears:</span></p>



<a name="163561403"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163561403" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163561403">(Apr 17 2019 at 13:44)</a>:</h4>
<p>If we were going to do that, we would want to work in consultation with a few others (e.g., on the community team) that have experience drawing up surveys</p>



<a name="163561417"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163561417" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163561417">(Apr 17 2019 at 13:44)</a>:</h4>
<p>But it'd be good to try and brainstorm what info precisely we're looking for</p>



<a name="163561458"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163561458" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> detrumi <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163561458">(Apr 17 2019 at 13:45)</a>:</h4>
<p>What would we do with those results? I think we'll still be in the same situation</p>



<a name="163561479"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163561479" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163561479">(Apr 17 2019 at 13:45)</a>:</h4>
<p>e.g., trying to tease out -- perf is part of it, but also like "what kinds of codebases" (how many crates, workspaces, how much is it stable/nightly features), what IDE features do people use (completions, jump to def, not sure what else there is), what do they try to do and it doesn't work?</p>



<a name="163561484"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163561484" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> detrumi <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163561484">(Apr 17 2019 at 13:45)</a>:</h4>
<p>Because RLS 2.0 is still far off from going all the way with reporting compiler errors</p>



<a name="163561485"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163561485" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163561485">(Apr 17 2019 at 13:45)</a>:</h4>
<p>Well, if it happens that a feature X is the main reason 1.0 is used and not 2.0 then it might give us an idea where 2.0 needs to be improved</p>



<a name="163561509"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163561509" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> detrumi <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163561509">(Apr 17 2019 at 13:45)</a>:</h4>
<p>(go to symbol is another big one)</p>



<a name="163561568"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163561568" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163561568">(Apr 17 2019 at 13:46)</a>:</h4>
<p>it's great that 2.0 doesn't need Cargo project layout (something I wanted to work on for 1.0)</p>



<a name="163561581"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163561581" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> matklad <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163561581">(Apr 17 2019 at 13:46)</a>:</h4>
<p>Well, a hypothetical fast path is that everyone says that rls2 works better right now, and, if that's the case, we can expedite shipping by implementing rustc-out-of-process in RLS1 and than merging it with RLS2</p>



<a name="163561601"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163561601" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163561601">(Apr 17 2019 at 13:46)</a>:</h4>
<blockquote>
<p>what do they try to do and it doesn't work?</p>
</blockquote>
<p>specifically asking: "What code base (or feature) did you stop using IDE X with" might be good for that.</p>



<a name="163561646"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163561646" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163561646">(Apr 17 2019 at 13:47)</a>:</h4>
<blockquote>
<p>What would we do with those results? I think we'll still be in the same situation</p>
</blockquote>
<p>a good question :) it seems like useful data whatever we do, but it is good to think a bit further ahead. I thnk we are considering a few things:</p>
<ul>
<li>Should we just focus exclusively on a rust-analyzer like approach, in order to get a responsive IDE architecture out as quickly as possible? How long will it take to get RA to cover the features people want, and how much "reconciliation work" are we committed ourselves to in that case? (Since we all agree we don't want to maintain two compilers forever)</li>
<li>How do we prioritize the work on RLS and rust-analyzer, assuming we maintain them both</li>
</ul>



<a name="163561725"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163561725" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163561725">(Apr 17 2019 at 13:48)</a>:</h4>
<blockquote>
<p>Well, a hypothetical fast path is that everyone says that rls2 works better right now, and, if that's the case, we can expedite shipping by implementing rustc-out-of-process in RLS1 and than merging it with RLS2</p>
</blockquote>
<p>I don't quite follow this</p>



<a name="163561743"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163561743" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163561743">(Apr 17 2019 at 13:48)</a>:</h4>
<p>but I think it's kind of the same thing I just said</p>



<a name="163561787"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163561787" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> detrumi <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163561787">(Apr 17 2019 at 13:48)</a>:</h4>
<p>If we're able to think of a fast path from where we're at right now, I think we should just follow that (but maybe I'm biased)</p>



<a name="163561843"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163561843" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> matklad <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163561843">(Apr 17 2019 at 13:49)</a>:</h4>
<blockquote>
<p>I don't quite follow this</p>
</blockquote>
<p>There's two points:</p>
<ul>
<li>if rls2 is useful, we should ship it</li>
<li>I think that we can relatively easy merge current archictecture of rls with rls2, if we do "out of process rustc" refactoring</li>
</ul>



<a name="163561878"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163561878" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163561878">(Apr 17 2019 at 13:49)</a>:</h4>
<p>what do we specifically mean by out of process rustc here?</p>



<a name="163561884"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163561884" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163561884">(Apr 17 2019 at 13:49)</a>:</h4>
<p>I guess the second half is what I don't understand :)</p>



<a name="163561950"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163561950" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163561950">(Apr 17 2019 at 13:50)</a>:</h4>
<p>in the RLS case, we do it to generate save-analysis artifacts which tie into the whole SA/rls-analysis architecture</p>



<a name="163561965"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163561965" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163561965">(Apr 17 2019 at 13:50)</a>:</h4>
<p>so I'm not sure how that's applicable rn to rls 2.0</p>



<a name="163562065"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163562065" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> matklad <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163562065">(Apr 17 2019 at 13:51)</a>:</h4>
<p>If we can generate save-analysis for current state of the world by just shelling out to Cargo, we can share the infra that transformes save-analysis into LSP between RLS 1 and 2.</p>



<a name="163562075"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163562075" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163562075">(Apr 17 2019 at 13:51)</a>:</h4>
<p>(so fyi I have another call in 9 minutes (on the hour))</p>



<a name="163562084"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163562084" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Florian Diebold <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163562084">(Apr 17 2019 at 13:51)</a>:</h4>
<p>maybe we should just make a proper release of RA and see how many people are interested? so far, it's been kind of stealthy and has never had a release that said "this might actually be useful for you", right?</p>



<a name="163562159"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163562159" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Florian Diebold <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163562159">(Apr 17 2019 at 13:52)</a>:</h4>
<p>(maybe after Chalk integration lands ;)</p>



<a name="163562169"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163562169" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> matklad <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163562169">(Apr 17 2019 at 13:52)</a>:</h4>
<p>That is, we can do sort-of racer/RLS setup, but with rls2/rls</p>



<a name="163562186"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163562186" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163562186">(Apr 17 2019 at 13:52)</a>:</h4>
<p>I think I'm biased but I believe RA is very popular right now, no?</p>



<a name="163562201"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163562201" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163562201">(Apr 17 2019 at 13:52)</a>:</h4>
<p>Maybe, yeah, but I think we have to be cautious about branding. (Regarding a release.)</p>



<a name="163562206"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163562206" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163562206">(Apr 17 2019 at 13:52)</a>:</h4>
<p>People will want to know what the plan is</p>



<a name="163562215"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163562215" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163562215">(Apr 17 2019 at 13:52)</a>:</h4>
<p>And we should have an answer :)</p>



<a name="163562219"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163562219" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163562219">(Apr 17 2019 at 13:52)</a>:</h4>
<p>if it's not, I'm afraid 1.0 could be considered dead by now, even if it's used by a lot of the people thanks to rustup xd</p>



<a name="163562237"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163562237" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Florian Diebold <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163562237">(Apr 17 2019 at 13:53)</a>:</h4>
<p>yeah, I don't mean it should be branded as "RLS 2", it should be clear that it's still an experiment</p>



<a name="163562262"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163562262" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163562262">(Apr 17 2019 at 13:53)</a>:</h4>
<p>so I'm curious about the 1.0-2.0 bridge and would love to talk more to <span class="user-mention" data-user-id="133169">@matklad</span> about it</p>



<a name="163562275"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163562275" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163562275">(Apr 17 2019 at 13:53)</a>:</h4>
<p>yes, that's an interesting thought I hadn't heard before</p>



<a name="163562303"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163562303" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163562303">(Apr 17 2019 at 13:53)</a>:</h4>
<p>this was an interesting discussion, even if we didn't really get to the original agenda :)</p>



<a name="163562350"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163562350" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163562350">(Apr 17 2019 at 13:54)</a>:</h4>
<p>it'd be good to also talk to <span class="user-mention" data-user-id="119009">@eddyb</span> and <span class="user-mention" data-user-id="116466">@Zoxc</span> at some point regarding the rustc arch and if they have a vision what to do next (sorry for not pinging you before!)</p>



<a name="163562362"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163562362" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> matklad <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163562362">(Apr 17 2019 at 13:54)</a>:</h4>
<p>I guess I used the wrong words all the previos times I've tried to articulate the idea :)</p>



<a name="163562418"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163562418" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163562418">(Apr 17 2019 at 13:54)</a>:</h4>
<p>I think my current feeling is roughly this:</p>
<ul>
<li>a survey is something we might consider</li>
<li>we really need to spend some more time getting on the same page about the overall plan</li>
</ul>
<p>towards the second point, I could see value in trying to articulate out the options in more detail.</p>



<a name="163562420"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163562420" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163562420">(Apr 17 2019 at 13:54)</a>:</h4>
<p>so to slowly start summing it up, we'd love to have more data</p>



<a name="163562431"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163562431" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163562431">(Apr 17 2019 at 13:55)</a>:</h4>
<p>=&gt; we need to do a survey and consult with more people?</p>



<a name="163562442"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163562442" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163562442">(Apr 17 2019 at 13:55)</a>:</h4>
<p>in particular, I think it'd be nice to be thinking beyond RLS + Rust-analyzer, and thinking a bit about the "incremental rustc" evolution</p>



<a name="163562482"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163562482" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163562482">(Apr 17 2019 at 13:55)</a>:</h4>
<p>I also think we should think about how/when to involve the wider team + community (beyond compiler team)</p>



<a name="163562503"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163562503" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> detrumi <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163562503">(Apr 17 2019 at 13:55)</a>:</h4>
<p>Doing a survey also gives people the expectation that we'll listen to the result, and that might turn out to be problematic implementation-wise</p>



<a name="163562592"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163562592" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163562592">(Apr 17 2019 at 13:56)</a>:</h4>
<p>Well it's not a  "what do you think we should do" type of survey here, so I think we're safe on that front</p>



<a name="163562620"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163562620" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163562620">(Apr 17 2019 at 13:56)</a>:</h4>
<p>rather collect people's experiences and figure out what might be some options/problems we didn't see</p>



<a name="163562814"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163562814" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163562814">(Apr 17 2019 at 13:58)</a>:</h4>
<p>Maybe the thing to do is to think about action items. I see a few things that might be useful to give overall context</p>
<ul>
<li>sketch out what a survey might look like -- what information do we want?</li>
<li>describe RLS 'roadmap':<br>
    - as below</li>
<li>describe the rust-analyzer 'roadmap':<br>
    - what features work now, what shortcomings<br>
    - what integrations we are working on<br>
    - what integrations we foresee in the future</li>
</ul>
<p>?</p>



<a name="163562834"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163562834" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163562834">(Apr 17 2019 at 13:58)</a>:</h4>
<p>I'm not imagining very long 'roadmaps', just some bullets</p>



<a name="163562871"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163562871" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163562871">(Apr 17 2019 at 13:59)</a>:</h4>
<p>anyway, I gotta go, I'll try to follow on async</p>



<a name="163562877"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163562877" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163562877">(Apr 17 2019 at 13:59)</a>:</h4>
<p>apart from roadmaps, it'd be good to maybe figure out a couple of approaches in more detail and what would it mean</p>



<a name="163562888"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163562888" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163562888">(Apr 17 2019 at 13:59)</a>:</h4>
<p>i'm torn about whether the roadmap(s) would be useful in constructing the survey</p>



<a name="163562891"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163562891" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163562891">(Apr 17 2019 at 13:59)</a>:</h4>
<p>I guess a very <em>simple</em> action item is to summarize some of this conversaton :)</p>



<a name="163562904"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163562904" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163562904">(Apr 17 2019 at 13:59)</a>:</h4>
<blockquote>
<p>apart from roadmaps, it'd be good to maybe figure out a couple of approaches in more detail and what would it mean</p>
</blockquote>
<p>yeah this is kind of what I was trying to do</p>



<a name="163562906"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163562906" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163562906">(Apr 17 2019 at 13:59)</a>:</h4>
<p>or if the survery results useful in constructing the roadmaps</p>



<a name="163562914"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163562914" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163562914">(Apr 17 2019 at 13:59)</a>:</h4>
<p>i'm not sure if roadmap is the word I wanted</p>



<a name="163562930"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163562930" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163562930">(Apr 17 2019 at 14:00)</a>:</h4>
<p>I was going to say "skech out various possible plans and how they would work"</p>



<a name="163563006"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163563006" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163563006">(Apr 17 2019 at 14:00)</a>:</h4>
<p>but as I tried to enumerate what those plans were, I thought maybe they would be constructed by starting from information about the existing approaches? but maybe not</p>



<a name="163563101"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163563101" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163563101">(Apr 17 2019 at 14:01)</a>:</h4>
<p>that looks reasonable</p>



<a name="163563113"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163563113" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163563113">(Apr 17 2019 at 14:01)</a>:</h4>
<p>thanks everybody!</p>



<a name="163563141"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163563141" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163563141">(Apr 17 2019 at 14:01)</a>:</h4>
<p>and please note down things at <a href="https://paper.dropbox.com/doc/Meeting-notes-RLS-1.0-2.0-brandingstrategy--AbbU0brN20uW8EHVrWwq50MEAg-xBajGKDvnVoyzJZUGSzhZ" target="_blank" title="https://paper.dropbox.com/doc/Meeting-notes-RLS-1.0-2.0-brandingstrategy--AbbU0brN20uW8EHVrWwq50MEAg-xBajGKDvnVoyzJZUGSzhZ">https://paper.dropbox.com/doc/Meeting-notes-RLS-1.0-2.0-brandingstrategy--AbbU0brN20uW8EHVrWwq50MEAg-xBajGKDvnVoyzJZUGSzhZ</a> if you can, whether it's your idea what is a good action item from now on (I guess putting it to words is the biggest hurdle?)</p>



<a name="163563199"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163563199" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163563199">(Apr 17 2019 at 14:02)</a>:</h4>
<p>seems clear we need to have another discussion or two like this :)</p>



<a name="163563205"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163563205" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163563205">(Apr 17 2019 at 14:02)</a>:</h4>
<p>or if you'd like to sum it up or highlight a particular point of this convo</p>



<a name="163563246"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163563246" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163563246">(Apr 17 2019 at 14:02)</a>:</h4>
<blockquote>
<p>seems clear we need to have another discussion or two like this :)</p>
</blockquote>
<p>should I create a doodle for next week or should we first do the survey?</p>



<a name="163563320"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163563320" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163563320">(Apr 17 2019 at 14:03)</a>:</h4>
<p>I don't think we should block on doing the survey, it'll take some time to craft; I think it'd make sense to do a bit of prep work before we talk again of some kind though.</p>



<a name="163563341"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163563341" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163563341">(Apr 17 2019 at 14:03)</a>:</h4>
<p>I think trying to elaborate out possible plans and what the challenges will be with each one is a good idea</p>



<a name="163563406"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163563406" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163563406">(Apr 17 2019 at 14:04)</a>:</h4>
<p>maybe we can collaboratively do that</p>



<a name="163563411"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163563411" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163563411">(Apr 17 2019 at 14:04)</a>:</h4>
<blockquote>
<p>or if you'd like to sum it up or highlight a particular point of this convo</p>
</blockquote>
<p>if nothing else, making sure all the <span aria-label="point up" class="emoji emoji-1f446" role="img" title="point up">:point_up:</span> -labelled messages are reflected in the notes is a good heuristic.</p>



<a name="163563418"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163563418" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> matklad <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163563418">(Apr 17 2019 at 14:04)</a>:</h4>
<p>yeah, today's convo were unstructured.... Should  we create a brainstorming paper docs or somehting like that?</p>



<a name="163563438"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163563438" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163563438">(Apr 17 2019 at 14:04)</a>:</h4>
<p>My bad, I should've created a better agenda beforehand :(</p>



<a name="163563444"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163563444" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163563444">(Apr 17 2019 at 14:04)</a>:</h4>
<p>I think we need a paper doc where we can start to sketch out the plans, and leave comments for one another, etc</p>



<a name="163563462"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163563462" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163563462">(Apr 17 2019 at 14:04)</a>:</h4>
<blockquote>
<p>My bad, I should've created a better agenda beforehand :(</p>
</blockquote>
<p>no worries, it turned out quite productive I think :) it seems like we were all sort of unaware of how much uncertainty we had</p>



<a name="163563502"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163563502" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> matklad <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163563502">(Apr 17 2019 at 14:05)</a>:</h4>
<p><span class="user-mention" data-user-id="153740">@Igor Matuszewski</span> I think we are <strong>all</strong> genuinely don't know what we are doing</p>



<a name="163563510"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163563510" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> matklad <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163563510">(Apr 17 2019 at 14:05)</a>:</h4>
<p>:)</p>



<a name="163563583"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163563583" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> matklad <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163563583">(Apr 17 2019 at 14:06)</a>:</h4>
<p>also, unstructured does not mean bad, it was productive!</p>



<a name="163563605"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163563605" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> detrumi <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163563605">(Apr 17 2019 at 14:06)</a>:</h4>
<p>A short agenda is better than following the wrong agenda</p>



<a name="163563810"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163563810" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> matklad <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163563810">(Apr 17 2019 at 14:09)</a>:</h4>
<p><span class="user-mention" data-user-id="153740">@Igor Matuszewski</span> I'd love to chat about 1-2 bridge later toady, if that's possible?</p>



<a name="163563813"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163563813" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> eddyb <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163563813">(Apr 17 2019 at 14:09)</a>:</h4>
<p>aaaaaaaaaaah this is too much discussion to  read :(</p>



<a name="163563864"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163563864" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> eddyb <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163563864">(Apr 17 2019 at 14:10)</a>:</h4>
<p>I have to go right now but I just went through all the mentions over the past few months, in case anything important was forgotten</p>



<a name="163563915"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163563915" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> eddyb <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163563915">(Apr 17 2019 at 14:10)</a>:</h4>
<p>(and saw I was pinged here)</p>



<a name="163564785"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163564785" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163564785">(Apr 17 2019 at 14:20)</a>:</h4>
<blockquote>
<p>aaaaaaaaaaah this is too much discussion to  read :(</p>
</blockquote>
<p>Uses the <a href="https://paper.dropbox.com/doc/Meeting-notes-RLS-1.0-2.0-brandingstrategy--AbbU0brN20uW8EHVrWwq50MEAg-xBajGKDvnVoyzJZUGSzhZ" target="_blank" title="https://paper.dropbox.com/doc/Meeting-notes-RLS-1.0-2.0-brandingstrategy--AbbU0brN20uW8EHVrWwq50MEAg-xBajGKDvnVoyzJZUGSzhZ">notes</a> <span class="user-mention" data-user-id="119009">@eddyb</span></p>



<a name="163564800"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163564800" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> eddyb <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163564800">(Apr 17 2019 at 14:20)</a>:</h4>
<p>oh this is a meeting, not random discussion?</p>



<a name="163564808"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163564808" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> eddyb <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163564808">(Apr 17 2019 at 14:20)</a>:</h4>
<p>the topic didn't make it clear :P</p>



<a name="163564899"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163564899" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> detrumi <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163564899">(Apr 17 2019 at 14:21)</a>:</h4>
<p>We started the meeting in the same topic as the planning of said meeting, might not have been the best option for those reading back afterwards</p>



<a name="163565367"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163565367" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> eddyb <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163565367">(Apr 17 2019 at 14:26)</a>:</h4>
<p>oh, for other meetings there are usually separate topics</p>



<a name="163565414"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163565414" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> eddyb <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163565414">(Apr 17 2019 at 14:27)</a>:</h4>
<p><span class="user-mention" data-user-id="116009">@nikomatsakis</span> I promised you something so I opened inkscape, and, well, here's a sneak peek <a href="/user_uploads/4715/eyd5S8HPZRLlbY6QANll4SWq/pasted_image.png" target="_blank" title="pasted_image.png">pasted image</a></p>
<div class="message_inline_image"><a href="/user_uploads/4715/eyd5S8HPZRLlbY6QANll4SWq/pasted_image.png" target="_blank" title="pasted image"><img src="/user_uploads/4715/eyd5S8HPZRLlbY6QANll4SWq/pasted_image.png"></a></div>



<a name="163565430"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163565430" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> eddyb <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163565430">(Apr 17 2019 at 14:27)</a>:</h4>
<p>I'll either try to make it nice or do it in a Markdown table</p>



<a name="163565573"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163565573" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163565573">(Apr 17 2019 at 14:28)</a>:</h4>
<blockquote>
<p>We started the meeting in the same topic as the planning of said meeting, might not have been the best option for those reading back afterwards</p>
</blockquote>
<p>I knew there was some reason my spidey-sense was tingling when we didn't make a fresh topic</p>



<a name="163575346"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163575346" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163575346">(Apr 17 2019 at 16:07)</a>:</h4>
<p><span class="user-mention" data-user-id="133169">@matklad</span> yes please (sorry, didn't see the message)</p>



<a name="163575452"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163575452" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> matklad <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163575452">(Apr 17 2019 at 16:08)</a>:</h4>
<p>Let's make a stream for it ... somewhere? I guess rls2.0 might be a better fit?</p>



<a name="163576376"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163576376" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163576376">(Apr 17 2019 at 16:18)</a>:</h4>
<p><span class="user-mention" data-user-id="133169">@matklad</span> sounds good!</p>



<a name="163576400"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/163576400" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> matklad <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#163576400">(Apr 17 2019 at 16:18)</a>:</h4>
<p>moved to <a href="#narrow/stream/185405-t-compiler.2Fwg-rls-2.2E0/topic/RLS.201.2E0.20--.20RLS.202.2E0.20bridge" title="#narrow/stream/185405-t-compiler.2Fwg-rls-2.2E0/topic/RLS.201.2E0.20--.20RLS.202.2E0.20bridge">https://rust-lang.zulipchat.com/#narrow/stream/185405-t-compiler.2Fwg-rls-2.2E0/topic/RLS.201.2E0.20--.20RLS.202.2E0.20bridge</a></p>



<a name="176007003"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/176007003" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#176007003">(Sep 18 2019 at 13:55)</a>:</h4>
<p>OK <span class="user-mention" data-user-id="153740">@Igor Matuszewski</span> <span aria-label="wave" class="emoji emoji-1f44b" role="img" title="wave">:wave:</span> -- so, right, out of process works now :)</p>



<a name="176007012"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/176007012" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#176007012">(Sep 18 2019 at 13:55)</a>:</h4>
<p>(Separate question: Should we have a Zulip stream for the rls, btw?)</p>



<a name="176007017"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/176007017" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#176007017">(Sep 18 2019 at 13:55)</a>:</h4>
<p>Yes <span aria-label="tada" class="emoji emoji-1f389" role="img" title="tada">:tada:</span></p>



<a name="176007037"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/176007037" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#176007037">(Sep 18 2019 at 13:55)</a>:</h4>
<p>Anyway I didn't quite follow whether one can work on the RLS w/ (e.g.) a nightly rustc or not</p>



<a name="176007040"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/176007040" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#176007040">(Sep 18 2019 at 13:55)</a>:</h4>
<p>uh, I feel like we come back to the old problems again of compiler/rls/WG rls 2.0 <span aria-label="laughter tears" class="emoji emoji-1f602" role="img" title="laughter tears">:laughter_tears:</span></p>



<a name="176007046"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/176007046" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#176007046">(Sep 18 2019 at 13:55)</a>:</h4>
<p>either works for me, we can stay here</p>



<a name="176007094"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/176007094" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#176007094">(Sep 18 2019 at 13:56)</a>:</h4>
<p>yeah, I think <span class="user-mention" data-user-id="133169">@matklad</span> and I are both not super comfortable with that name</p>



<a name="176007097"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/176007097" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#176007097">(Sep 18 2019 at 13:56)</a>:</h4>
<p>yeah  I was just going to say that (about compiler/rls/rls2.0)</p>



<a name="176007100"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/176007100" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#176007100">(Sep 18 2019 at 13:56)</a>:</h4>
<p>but for now let's just chat and stop moving around :")</p>



<a name="176007122"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/176007122" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#176007122">(Sep 18 2019 at 13:56)</a>:</h4>
<p>let's get back to that later <span aria-label="smile" class="emoji emoji-263a" role="img" title="smile">:smile:</span></p>



<a name="176007129"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/176007129" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#176007129">(Sep 18 2019 at 13:56)</a>:</h4>
<p>(though one of the things I would like us to talk about is trying to unify our "IDE story", which is related to the naming question)</p>



<a name="176007142"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/176007142" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#176007142">(Sep 18 2019 at 13:56)</a>:</h4>
<p>out of process works right now - the support has to be compiled in and by default is turned off in Rust tree and in the separate repository</p>



<a name="176007194"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/176007194" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#176007194">(Sep 18 2019 at 13:57)</a>:</h4>
<p>this is done because we're currently using Tokio and the async stuff for the communication</p>



<a name="176007205"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/176007205" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#176007205">(Sep 18 2019 at 13:57)</a>:</h4>
<p>using JSON-RPC over IPC (UDS on Unix, named pipes on Windows)</p>



<a name="176007299"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/176007299" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#176007299">(Sep 18 2019 at 13:58)</a>:</h4>
<p>ok</p>



<a name="176007302"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/176007302" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#176007302">(Sep 18 2019 at 13:58)</a>:</h4>
<p>not sure if this is premature optimization - I wanted to avoid spawning a thread and blocking on each connection</p>



<a name="176007312"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/176007312" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#176007312">(Sep 18 2019 at 13:59)</a>:</h4>
<p>and felt like latency would be a problem in this push to decrease latency as much as we can</p>



<a name="176007314"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/176007314" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#176007314">(Sep 18 2019 at 13:59)</a>:</h4>
<p>each connection == running rustc?</p>



<a name="176007328"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/176007328" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#176007328">(Sep 18 2019 at 13:59)</a>:</h4>
<p>yes</p>



<a name="176007362"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/176007362" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#176007362">(Sep 18 2019 at 13:59)</a>:</h4>
<p>ok. seems like it may be premature to me in that case</p>



<a name="176007367"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/176007367" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#176007367">(Sep 18 2019 at 13:59)</a>:</h4>
<p>just because the overhead of running rustc is high enough</p>



<a name="176007368"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/176007368" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#176007368">(Sep 18 2019 at 13:59)</a>:</h4>
<p>but right now it's not really optimal as well, since we spawn the tokio runtime, run the thing, shutdown the runtime</p>



<a name="176007397"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/176007397" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#176007397">(Sep 18 2019 at 13:59)</a>:</h4>
<p>so it's almost worst of two worlds <span aria-label="laughter tears" class="emoji emoji-1f602" role="img" title="laughter tears">:laughter_tears:</span> but I imagined we can later set up one server for that</p>



<a name="176007414"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/176007414" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#176007414">(Sep 18 2019 at 14:00)</a>:</h4>
<p>how much data goes over this connection?</p>



<a name="176007448"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/176007448" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#176007448">(Sep 18 2019 at 14:00)</a>:</h4>
<p>or we can just spawn threads and block on the connection</p>



<a name="176007461"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/176007461" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#176007461">(Sep 18 2019 at 14:00)</a>:</h4>
<p>I guess the VFS primarily?</p>



<a name="176007490"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/176007490" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#176007490">(Sep 18 2019 at 14:00)</a>:</h4>
<p>also save-analysis output?</p>



<a name="176007505"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/176007505" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#176007505">(Sep 18 2019 at 14:00)</a>:</h4>
<p>save-analysis would be the biggest one, yes</p>



<a name="176007523"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/176007523" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#176007523">(Sep 18 2019 at 14:00)</a>:</h4>
<p>we serialize to a JSON - effectively send SA index file contents</p>



<a name="176007551"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/176007551" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#176007551">(Sep 18 2019 at 14:01)</a>:</h4>
<p>and send that over the JSON-RPC</p>



<a name="176007566"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/176007566" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#176007566">(Sep 18 2019 at 14:01)</a>:</h4>
<p>I think it's less than 5 MB in most cases</p>



<a name="176007584"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/176007584" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#176007584">(Sep 18 2019 at 14:01)</a>:</h4>
<p>obviously depends on the crates - winapi is considerably bigger for example (don't have numbers rn)</p>



<a name="176007597"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/176007597" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#176007597">(Sep 18 2019 at 14:01)</a>:</h4>
<p>OK. Well, the details of how it's setup don't seem like the most important thing.</p>



<a name="176007654"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/176007654" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#176007654">(Sep 18 2019 at 14:02)</a>:</h4>
<p>I guess we'll just have to measure</p>



<a name="176007672"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/176007672" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#176007672">(Sep 18 2019 at 14:02)</a>:</h4>
<p>I do suspect a simple setup would suffice</p>



<a name="176007691"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/176007691" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#176007691">(Sep 18 2019 at 14:02)</a>:</h4>
<p>I measured the performance overhead of doing this in the out-of-process way</p>



<a name="176007705"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/176007705" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#176007705">(Sep 18 2019 at 14:02)</a>:</h4>
<p>nothing big, just a couple warm runs on some medium sized projects</p>



<a name="176007742"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/176007742" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#176007742">(Sep 18 2019 at 14:03)</a>:</h4>
<p>and it's &lt;5-10% slower</p>



<a name="176007759"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/176007759" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#176007759">(Sep 18 2019 at 14:03)</a>:</h4>
<p>performance overhead of tokio-runtime + added rls process?</p>



<a name="176007765"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/176007765" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#176007765">(Sep 18 2019 at 14:03)</a>:</h4>
<p>yes</p>



<a name="176007770"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/176007770" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#176007770">(Sep 18 2019 at 14:03)</a>:</h4>
<p>I imagine that means compared to running rust <em>in</em> process, right?</p>



<a name="176007776"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/176007776" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#176007776">(Sep 18 2019 at 14:04)</a>:</h4>
<p>start to finish for a couple of primary crate targets in a workspace</p>



<a name="176007815"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/176007815" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#176007815">(Sep 18 2019 at 14:04)</a>:</h4>
<p>that is, you're not comparing the cost of different forms of out-of-process</p>



<a name="176007824"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/176007824" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#176007824">(Sep 18 2019 at 14:04)</a>:</h4>
<p>yes</p>



<a name="176007830"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/176007830" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#176007830">(Sep 18 2019 at 14:04)</a>:</h4>
<p>sorry</p>



<a name="176007838"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/176007838" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#176007838">(Sep 18 2019 at 14:04)</a>:</h4>
<p>makes sense</p>



<a name="176007841"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/176007841" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#176007841">(Sep 18 2019 at 14:04)</a>:</h4>
<p>that's &lt;5-10% slower when running RLS out-of-process comparing to the current mode where we run things in-process</p>



<a name="176007876"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/176007876" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#176007876">(Sep 18 2019 at 14:05)</a>:</h4>
<p>which sort of makes sense, but I'm mostly happy about potentially dropping the non-obvious locking environment setup</p>



<a name="176007899"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/176007899" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#176007899">(Sep 18 2019 at 14:05)</a>:</h4>
<p>and there seems to be a memory leak - either in Cargo or rustc?</p>



<a name="176007905"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/176007905" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#176007905">(Sep 18 2019 at 14:05)</a>:</h4>
<p>let me link an issue</p>



<a name="176007915"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/176007915" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#176007915">(Sep 18 2019 at 14:05)</a>:</h4>
<p>(which running this out-of-process basically "fixes")</p>



<a name="176007916"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/176007916" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#176007916">(Sep 18 2019 at 14:05)</a>:</h4>
<p>and that 5-10% overhead includes the time to start up tokio runtime (as well as run rustc and serialize and transmit the save-analysis  data), right?</p>



<a name="176007968"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/176007968" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#176007968">(Sep 18 2019 at 14:06)</a>:</h4>
<p><a href="https://github.com/rust-lang/rls/issues/1188" target="_blank" title="https://github.com/rust-lang/rls/issues/1188">https://github.com/rust-lang/rls/issues/1188</a></p>



<a name="176007977"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/176007977" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#176007977">(Sep 18 2019 at 14:06)</a>:</h4>
<p>I guess the running rustc was included in the baseline, of course...</p>



<a name="176007978"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/176007978" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#176007978">(Sep 18 2019 at 14:06)</a>:</h4>
<p>yes, entirely start to finish</p>



<a name="176008000"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/176008000" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#176008000">(Sep 18 2019 at 14:06)</a>:</h4>
<p>rn we spawn Tokio runtime before each rustc invocation and then tear it down which is less than ideal</p>



<a name="176008004"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/176008004" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#176008004">(Sep 18 2019 at 14:06)</a>:</h4>
<p>I didn't actually know that the tokio runtime was expensive</p>



<a name="176008018"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/176008018" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#176008018">(Sep 18 2019 at 14:06)</a>:</h4>
<p>you probably could measure that on its own, if you wanted</p>



<a name="176008020"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/176008020" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#176008020">(Sep 18 2019 at 14:06)</a>:</h4>
<p>the factors important here is that save-analysis is serialized and deserialized over the wire</p>



<a name="176008046"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/176008046" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#176008046">(Sep 18 2019 at 14:07)</a>:</h4>
<p>(by adding the startup/shutdown of tokio to the <em>in-process</em> RLS benchmarking)</p>



<a name="176008049"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/176008049" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#176008049">(Sep 18 2019 at 14:07)</a>:</h4>
<p>also lock contention on the environment (each rustc instance wants a dedicated access to the <code>env</code>)</p>



<a name="176008070"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/176008070" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#176008070">(Sep 18 2019 at 14:07)</a>:</h4>
<p>that's a fair point!</p>



<a name="176008072"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/176008072" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#176008072">(Sep 18 2019 at 14:07)</a>:</h4>
<p>we could try that</p>



<a name="176008083"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/176008083" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#176008083">(Sep 18 2019 at 14:07)</a>:</h4>
<p>but I'm also willing to believe that its expensive. :)</p>



<a name="176008140"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/176008140" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#176008140">(Sep 18 2019 at 14:08)</a>:</h4>
<p>we could also spawn a dedicated IPC server thread and run it all there - that'd avoid the startup/teardown on each execution</p>



<a name="176008168"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/176008168" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#176008168">(Sep 18 2019 at 14:08)</a>:</h4>
<blockquote>
<p>(which running this out-of-process basically "fixes")</p>
</blockquote>
<p>are you satisfied with this "fix"? any thoughts or ideas of what the problem was before? something internal to rls?</p>



<a name="176008179"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/176008179" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#176008179">(Sep 18 2019 at 14:08)</a>:</h4>
<p>could it have been (e.g.) rustc interning pools or other static data?</p>



<a name="176008181"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/176008181" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#176008181">(Sep 18 2019 at 14:08)</a>:</h4>
<p>but <span class="user-mention" data-user-id="133169">@matklad</span> also had a point - we could just spawn a thread and do a blocking I/O with JSON separated with newlines to drop the async ecosystem</p>



<a name="176008214"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/176008214" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#176008214">(Sep 18 2019 at 14:09)</a>:</h4>
<p>(personally, I'd prefer something like that, just because it seems simpler and has fewer deps, but I don't care very much)</p>



<a name="176008244"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/176008244" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#176008244">(Sep 18 2019 at 14:09)</a>:</h4>
<p>(my personal experience has been that spawning threads is usually not a big thing, but I guess it will depend if we ever get to the point where we're doing these calls at a really fine-grained level)</p>



<a name="176008256"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/176008256" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#176008256">(Sep 18 2019 at 14:09)</a>:</h4>
<p><span class="user-mention" data-user-id="116009">@nikomatsakis</span> I didn't dig deep enough (started though) - I know that Cargo interners came up as the leaked "source" but didn't investigate fully so don't want to say anything for certain</p>



<a name="176008319"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/176008319" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#176008319">(Sep 18 2019 at 14:10)</a>:</h4>
<p>ok. Have you verified that this out-of-process work fixes the problem?</p>



<a name="176008322"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/176008322" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#176008322">(Sep 18 2019 at 14:10)</a>:</h4>
<p>Or you are just hypothesizing?</p>



<a name="176008345"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/176008345" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#176008345">(Sep 18 2019 at 14:10)</a>:</h4>
<p>It seems like a reasonable guess, to be clear, just wanted to be sure</p>



<a name="176008346"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/176008346" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#176008346">(Sep 18 2019 at 14:10)</a>:</h4>
<p>hypothesizing unfortunately</p>



<a name="176008359"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/176008359" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#176008359">(Sep 18 2019 at 14:10)</a>:</h4>
<blockquote>
<p>also lock contention on the environment (each rustc instance wants a dedicated access to the <code>env</code>)</p>
</blockquote>
<p>Does this imply that you cannot even have the invocations of <code>rustc</code> running in parallel, even if you <em>did</em> implement it via distinct spawned threads?</p>



<a name="176008360"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/176008360" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#176008360">(Sep 18 2019 at 14:10)</a>:</h4>
<p>OK.</p>



<a name="176008393"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/176008393" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#176008393">(Sep 18 2019 at 14:11)</a>:</h4>
<p><span class="user-mention" data-user-id="116083">@pnkfelix</span> yes, that's one of the reasons we wanted to pursue out-of-process compilation</p>



<a name="176008415"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/176008415" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#176008415">(Sep 18 2019 at 14:11)</a>:</h4>
<p>So now we can support multiple instances of rustc?</p>



<a name="176008428"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/176008428" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#176008428">(Sep 18 2019 at 14:11)</a>:</h4>
<p>(Are we taking advantage of that?)</p>



<a name="176008429"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/176008429" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#176008429">(Sep 18 2019 at 14:11)</a>:</h4>
<p>right now we cache the build plan by Cargo whenever something major happens (changed Cargo.{toml,lock} files, removed <code>/target</code> etc.) and executed these in serial fashion</p>



<a name="176008448"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/176008448" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#176008448">(Sep 18 2019 at 14:11)</a>:</h4>
<p>OK. It seems like that might well offset the 5-10% overhead</p>



<a name="176008452"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/176008452" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#176008452">(Sep 18 2019 at 14:11)</a>:</h4>
<p>We're not taking advantage of that yet</p>



<a name="176008534"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/176008534" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#176008534">(Sep 18 2019 at 14:12)</a>:</h4>
<p>Was wondering if we could extract the graph processing logic that Cargo has out to a crate with <span class="user-mention" data-user-id="116015">@Alex Crichton</span></p>



<a name="176008561"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/176008561" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#176008561">(Sep 18 2019 at 14:12)</a>:</h4>
<p>but didn't progress further</p>



<a name="176008603"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/176008603" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#176008603">(Sep 18 2019 at 14:13)</a>:</h4>
<p>Interesting. Might be worth looping in <span class="user-mention" data-user-id="127859">@Taylor Cramer</span> (on vacation this week) and/or jsgf</p>



<a name="176008608"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/176008608" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#176008608">(Sep 18 2019 at 14:13)</a>:</h4>
<p>technically we could run <code>IPC_ENDPOINT=... cargo check</code></p>



<a name="176008626"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/176008626" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#176008626">(Sep 18 2019 at 14:13)</a>:</h4>
<p>because this seems to relate to the "cargo build plan" support that more complex build systems want (e.g. bazel or what have you)</p>



<a name="176008717"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/176008717" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#176008717">(Sep 18 2019 at 14:14)</a>:</h4>
<p>I know that Cargo can emit build plans and we can leverage that as well</p>



<a name="176008721"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/176008721" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#176008721">(Sep 18 2019 at 14:14)</a>:</h4>
<p>anyway, very exciting that out-of-process is working -- what is next on your plate? (I'm going to hvae to run in a few minutes, fyi)</p>



<a name="176008747"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/176008747" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#176008747">(Sep 18 2019 at 14:14)</a>:</h4>
<p>I've been thinking about converging the IDE effort, finally</p>



<a name="176008790"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/176008790" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#176008790">(Sep 18 2019 at 14:15)</a>:</h4>
<p>since the query infra is now in place I was wondering if it'd be feasible to wrap the query system somehow out-of-process</p>



<a name="176008816"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/176008816" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#176008816">(Sep 18 2019 at 14:15)</a>:</h4>
<p>like - execute rustc but only really ask it to parse/nameres and then execute a single query and come back with results</p>



<a name="176008874"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/176008874" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#176008874">(Sep 18 2019 at 14:16)</a>:</h4>
<p>to probably rely less on save-analysis itself</p>



<a name="176008905"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/176008905" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#176008905">(Sep 18 2019 at 14:16)</a>:</h4>
<p>that sounds very experimental though</p>



<a name="176008943"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/176008943" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#176008943">(Sep 18 2019 at 14:17)</a>:</h4>
<p>I think this could help us look a bit more on how rustc itself could be changed internally rather than redoing the frontend?</p>



<a name="176008959"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/176008959" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#176008959">(Sep 18 2019 at 14:17)</a>:</h4>
<p>For example IIRC we can't change inputs in the rustc session from the query system PoV</p>



<a name="176008983"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/176008983" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#176008983">(Sep 18 2019 at 14:17)</a>:</h4>
<p>I know that <span class="user-mention" data-user-id="124069">@Alexander Regueiro</span> also wanted to work on something similar for Rust REPL</p>



<a name="176009050"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/176009050" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#176009050">(Sep 18 2019 at 14:18)</a>:</h4>
<p>but apart from that I wanted to verify the memory leak issues, see if we can drop down Tokio and what would be the cost of that</p>



<a name="176009091"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/176009091" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#176009091">(Sep 18 2019 at 14:18)</a>:</h4>
<blockquote>
<p>I've been thinking about converging the IDE effort, finally</p>
</blockquote>
<p>maybe <span class="user-mention" data-user-id="133169">@matklad</span> (and/or <span class="user-mention" data-user-id="129457">@Florian Diebold</span>), you, and I (and whomever else) should try to schedule some time to think about this specifically?</p>



<a name="176009129"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/176009129" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#176009129">(Sep 18 2019 at 14:19)</a>:</h4>
<p>I think it would be great if we could start to move towards a single "framework"</p>



<a name="176009139"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/176009139" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#176009139">(Sep 18 2019 at 14:19)</a>:</h4>
<p>though I'm not entirely sure what that means</p>



<a name="176009145"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/176009145" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#176009145">(Sep 18 2019 at 14:19)</a>:</h4>
<p>also right now tools are not available on tier 2 platforms due to proc macros and cross-compilation - while tangentially related, it'd reduce some development friction (for example for rls-data to switch to serde it had to manually expand the serde_derive code because x.py couldn't cope with multiple serde_derive available)</p>



<a name="176009254"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/176009254" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#176009254">(Sep 18 2019 at 14:20)</a>:</h4>
<p>well one crazy idea would be to investigate doing dot completion using the existing rustc query infra</p>



<a name="176009293"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/176009293" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#176009293">(Sep 18 2019 at 14:20)</a>:</h4>
<p>and honestly this would fix a lot of outstanding issues such as 'can't complete anything that needs type inference because of Racer'</p>



<a name="176009311"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/176009311" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#176009311">(Sep 18 2019 at 14:21)</a>:</h4>
<p>or type-checking expressions (which is really handy)</p>



<a name="176009341"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/176009341" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> matklad <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#176009341">(Sep 18 2019 at 14:21)</a>:</h4>
<p>catching up with conversation, but cargo definitelly leaked tons of strings for interning at one point</p>



<a name="176009354"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/176009354" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alexander Regueiro <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#176009354">(Sep 18 2019 at 14:21)</a>:</h4>
<p><span class="user-mention" data-user-id="153740">@Igor Matuszewski</span> I’m about to publish it in fact. :-)</p>



<a name="176009498"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/176009498" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#176009498">(Sep 18 2019 at 14:22)</a>:</h4>
<p>So yeah, still a lot of things we can tackle at first =)</p>



<a name="176009594"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/176009594" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#176009594">(Sep 18 2019 at 14:23)</a>:</h4>
<p>Maybe a bit (too?) specific question - when fixing save-analysis generation at <a href="https://github.com/rust-lang/rust/pull/64250#issuecomment-531521579" target="_blank" title="https://github.com/rust-lang/rust/pull/64250#issuecomment-531521579">https://github.com/rust-lang/rust/pull/64250#issuecomment-531521579</a> I was bit by missing typeck tables for a synthetic def</p>



<a name="176009635"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/176009635" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#176009635">(Sep 18 2019 at 14:24)</a>:</h4>
<p>which is an impl trait in return position</p>



<a name="176009657"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/176009657" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> matklad <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#176009657">(Sep 18 2019 at 14:24)</a>:</h4>
<blockquote>
<p>technically we could run <code>IPC_ENDPOINT=... cargo check</code></p>
</blockquote>
<p>I am very pro this approach, as it allows to move <code>cargo</code> out of RLS, which seems like a huge source of complexity, and it also would work for rust-analyzer</p>



<a name="176009755"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/176009755" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#176009755">(Sep 18 2019 at 14:25)</a>:</h4>
<p>(I was wondering if it's a bug that we don't have these? Clippy also hit some missing typeck tables where one would expect them IIRC at <a href="https://github.com/rust-lang/rust-clippy/pull/4545#issuecomment-532171307" target="_blank" title="https://github.com/rust-lang/rust-clippy/pull/4545#issuecomment-532171307">https://github.com/rust-lang/rust-clippy/pull/4545#issuecomment-532171307</a>)</p>



<a name="176009837"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/176009837" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#176009837">(Sep 18 2019 at 14:26)</a>:</h4>
<p>I promoted the debug assertion to a regular one when using hir id and typeck tables but I'm wondering if it's causing more harm now than good <span aria-label="frown" class="emoji emoji-1f641" role="img" title="frown">:frown:</span></p>



<a name="176010172"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/176010172" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#176010172">(Sep 18 2019 at 14:28)</a>:</h4>
<p><span class="user-mention" data-user-id="133169">@matklad</span> that's fair! I think that an extracted 'executor' crate would be also helpful, since I imagine things like Buck would want to be supported in similar vein</p>



<a name="176010239"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/176010239" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#176010239">(Sep 18 2019 at 14:29)</a>:</h4>
<p>but I agree, reducing coupling and code duplication would be great!</p>



<a name="176010713"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/176010713" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> matklad <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#176010713">(Sep 18 2019 at 14:34)</a>:</h4>
<p><span class="user-mention" data-user-id="153740">@Igor Matuszewski</span> <span class="user-mention" data-user-id="129457">@Florian Diebold</span> <span class="user-mention" data-user-id="116009">@nikomatsakis</span> let's find time for "rls/rust-analyzer joint planning" meeting: <a href="https://doodle.com/poll/t42575t79pbxmasa" target="_blank" title="https://doodle.com/poll/t42575t79pbxmasa">https://doodle.com/poll/t42575t79pbxmasa</a></p>



<a name="176010887"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/176010887" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Florian Diebold <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#176010887">(Sep 18 2019 at 14:36)</a>:</h4>
<p>I'll be on vacation all of next week, but I'm probably not essential for the meeting <span aria-label="slight smile" class="emoji emoji-1f642" role="img" title="slight smile">:slight_smile:</span></p>



<a name="176044223"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/176044223" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#176044223">(Sep 18 2019 at 20:39)</a>:</h4>
<p><span class="user-mention" data-user-id="133169">@matklad</span> sorry for the off hours, I'm in the US timezone for a week</p>



<a name="176044226"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/176044226" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#176044226">(Sep 18 2019 at 20:40)</a>:</h4>
<p>filled</p>



<a name="176094441"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/176094441" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> matklad <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#176094441">(Sep 19 2019 at 12:38)</a>:</h4>
<p>rls/rust-analyzer meeting will happen later today: <a href="https://calendar.google.com/event?action=TEMPLATE&amp;tmeid=NTNxdXU4MDQ0ZDFsZ2lkamk1NTcwcTY4dHVfMjAxOTA5MTlUMTQwMDAwWiA2dTVycnRjZTZscnR2MDdwZmkzZGFtZ2p1c0Bn&amp;tmsrc=6u5rrtce6lrtv07pfi3damgjus%40group.calendar.google.com&amp;scp=ALL" target="_blank" title="https://calendar.google.com/event?action=TEMPLATE&amp;tmeid=NTNxdXU4MDQ0ZDFsZ2lkamk1NTcwcTY4dHVfMjAxOTA5MTlUMTQwMDAwWiA2dTVycnRjZTZscnR2MDdwZmkzZGFtZ2p1c0Bn&amp;tmsrc=6u5rrtce6lrtv07pfi3damgjus%40group.calendar.google.com&amp;scp=ALL">https://calendar.google.com/event?action=TEMPLATE&amp;tmeid=NTNxdXU4MDQ0ZDFsZ2lkamk1NTcwcTY4dHVfMjAxOTA5MTlUMTQwMDAwWiA2dTVycnRjZTZscnR2MDdwZmkzZGFtZ2p1c0Bn&amp;tmsrc=6u5rrtce6lrtv07pfi3damgjus%40group.calendar.google.com&amp;scp=ALL</a></p>
<p>let me pre-emptively create a stream...</p>



<a name="176100090"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/176100090" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> matklad <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#176100090">(Sep 19 2019 at 13:40)</a>:</h4>
<p>Note, the link above is wrong, the right one is this: </p>
<p><a href="https://calendar.google.com/event?action=TEMPLATE&amp;tmeid=NzZmMnRoYzQ2MnYxcDZnY28zcHA5cGhyaWsgNnU1cnJ0Y2U2bHJ0djA3cGZpM2RhbWdqdXNAZw&amp;tmsrc=6u5rrtce6lrtv07pfi3damgjus%40group.calendar.google.com" target="_blank" title="https://calendar.google.com/event?action=TEMPLATE&amp;tmeid=NzZmMnRoYzQ2MnYxcDZnY28zcHA5cGhyaWsgNnU1cnJ0Y2U2bHJ0djA3cGZpM2RhbWdqdXNAZw&amp;tmsrc=6u5rrtce6lrtv07pfi3damgjus%40group.calendar.google.com">https://calendar.google.com/event?action=TEMPLATE&amp;tmeid=NzZmMnRoYzQ2MnYxcDZnY28zcHA5cGhyaWsgNnU1cnJ0Y2U2bHJ0djA3cGZpM2RhbWdqdXNAZw&amp;tmsrc=6u5rrtce6lrtv07pfi3damgjus%40group.calendar.google.com</a></p>



<a name="177056175"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/177056175" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#177056175">(Oct 01 2019 at 13:45)</a>:</h4>
<p><span class="user-mention" data-user-id="153740">@Igor Matuszewski</span> <span aria-label="wave" class="emoji emoji-1f44b" role="img" title="wave">:wave:</span></p>



<a name="177056553"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/177056553" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#177056553">(Oct 01 2019 at 13:49)</a>:</h4>
<p><span class="user-mention" data-user-id="116009">@nikomatsakis</span> <span aria-label="wave" class="emoji emoji-1f44b" role="img" title="wave">:wave:</span></p>



<a name="177056557"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/177056557" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#177056557">(Oct 01 2019 at 13:49)</a>:</h4>
<p>I'm here</p>



<a name="177056582"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/177056582" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#177056582">(Oct 01 2019 at 13:49)</a>:</h4>
<p>So how goes</p>



<a name="177056592"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/177056592" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#177056592">(Oct 01 2019 at 13:49)</a>:</h4>
<p>(also, cc <span class="user-mention" data-user-id="116083">@pnkfelix</span> in case you're interested)</p>



<a name="177056693"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/177056693" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#177056693">(Oct 01 2019 at 13:50)</a>:</h4>
<p>Nothing new on the RLS side in the recent days</p>



<a name="177056719"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/177056719" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#177056719">(Oct 01 2019 at 13:50)</a>:</h4>
<p>was in a bit of a flux due to the Colorado Gold Rust conference and travel</p>



<a name="177056764"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/177056764" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#177056764">(Oct 01 2019 at 13:51)</a>:</h4>
<p>Ah, yeah, ok</p>



<a name="177056770"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/177056770" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#177056770">(Oct 01 2019 at 13:51)</a>:</h4>
<p><a href="https://github.com/rust-lang/rust/issues/64659" target="_blank" title="https://github.com/rust-lang/rust/issues/64659">https://github.com/rust-lang/rust/issues/64659</a> is on my list for this week</p>



<a name="177056773"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/177056773" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#177056773">(Oct 01 2019 at 13:51)</a>:</h4>
<p>Did you see the issue we tagged you with in the compiler meeting?</p>



<a name="177056783"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/177056783" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#177056783">(Oct 01 2019 at 13:51)</a>:</h4>
<p>I think that's the one</p>



<a name="177056786"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/177056786" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#177056786">(Oct 01 2019 at 13:51)</a>:</h4>
<p>ok</p>



<a name="177056796"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/177056796" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#177056796">(Oct 01 2019 at 13:51)</a>:</h4>
<p>yeah</p>



<a name="177056863"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/177056863" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#177056863">(Oct 01 2019 at 13:52)</a>:</h4>
<p>so that's planned now, I believe I made the mistake of promoting a debug assertion to regular one close to beta cut-off and just realized that this might be in the current beta</p>



<a name="177056869"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/177056869" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#177056869">(Oct 01 2019 at 13:52)</a>:</h4>
<p>so the fix will probably need to be backported</p>



<a name="177056871"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/177056871" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#177056871">(Oct 01 2019 at 13:52)</a>:</h4>
<p>ok</p>



<a name="177056888"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/177056888" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#177056888">(Oct 01 2019 at 13:52)</a>:</h4>
<p>although in <em>principle</em> that should be ok?</p>



<a name="177056910"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/177056910" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#177056910">(Oct 01 2019 at 13:52)</a>:</h4>
<p>like, the debug-assertion <em>ought</em> to always be true...?</p>



<a name="177056917"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/177056917" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#177056917">(Oct 01 2019 at 13:53)</a>:</h4>
<p>the fix to the bug uncovered by the assertion promotion in itself should be backported</p>



<a name="177056923"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/177056923" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#177056923">(Oct 01 2019 at 13:53)</a>:</h4>
<p>ok</p>



<a name="177056940"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/177056940" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#177056940">(Oct 01 2019 at 13:53)</a>:</h4>
<p>and not the demotion to debug assertion <span aria-label="smile" class="emoji emoji-263a" role="img" title="smile">:smile:</span></p>



<a name="177057031"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/177057031" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#177057031">(Oct 01 2019 at 13:54)</a>:</h4>
<p>need to fix the VS Code extension since it waited for 1.38 to land to fix the false positive 'unknown RLS configuration' warning we've been giving due to stable not supporting certain new configuration</p>



<a name="177057034"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/177057034" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#177057034">(Oct 01 2019 at 13:54)</a>:</h4>
<p>but 1.38 has landed so this is unblocked</p>



<a name="177057060"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/177057060" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#177057060">(Oct 01 2019 at 13:54)</a>:</h4>
<p>also because of it it'd be good to think of how we can manage the settings 'deprecation' wrt different toolchains in the RLS</p>



<a name="177057098"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/177057098" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#177057098">(Oct 01 2019 at 13:55)</a>:</h4>
<p>I don't quite know what you mean</p>



<a name="177057100"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/177057100" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#177057100">(Oct 01 2019 at 13:55)</a>:</h4>
<p>since people will use one exact version of the extension and it comes with a set of 'supported' configurations, but the user can opt-in into different toolchains</p>



<a name="177057111"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/177057111" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#177057111">(Oct 01 2019 at 13:55)</a>:</h4>
<p>but that's a detail and should be discussed separately I believe</p>



<a name="177057178"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/177057178" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#177057178">(Oct 01 2019 at 13:56)</a>:</h4>
<p>briefly: since 1.38 we can now suppress a spurious warning in the VSCode</p>



<a name="177057206"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/177057206" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#177057206">(Oct 01 2019 at 13:56)</a>:</h4>
<p>ok</p>



<a name="177057226"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/177057226" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#177057226">(Oct 01 2019 at 13:56)</a>:</h4>
<p>apart from that, next thing up would be to probably try and get rid of Tokio deps in the out-of-process scheme</p>



<a name="177057240"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/177057240" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#177057240">(Oct 01 2019 at 13:57)</a>:</h4>
<p>what do you plan to replace with?</p>



<a name="177057251"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/177057251" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#177057251">(Oct 01 2019 at 13:57)</a>:</h4>
<p>or maybe just enable them and see if there's any meaningful cost in the CI/CD pipeline</p>



<a name="177057271"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/177057271" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#177057271">(Oct 01 2019 at 13:57)</a>:</h4>
<p>threads with blocking I/O based on JSONs per line</p>



<a name="177057277"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/177057277" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#177057277">(Oct 01 2019 at 13:57)</a>:</h4>
<p>ok ok</p>



<a name="177057295"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/177057295" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#177057295">(Oct 01 2019 at 13:57)</a>:</h4>
<p>but I believe we also talked about it; just wanted to say what's up next</p>



<a name="177057299"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/177057299" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#177057299">(Oct 01 2019 at 13:57)</a>:</h4>
<p>yeah, hmm, maybe worth measuring -- though I somewhat favor a simpler approach just in general, because fewer deps can be useful</p>



<a name="177057313"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/177057313" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#177057313">(Oct 01 2019 at 13:57)</a>:</h4>
<p>yep, whichever way you find best I guess</p>



<a name="177057375"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/177057375" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#177057375">(Oct 01 2019 at 13:58)</a>:</h4>
<p>yeah, will measure the overhead beforehand</p>



<a name="177057445"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/177057445" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#177057445">(Oct 01 2019 at 13:59)</a>:</h4>
<p>so yeah, that's it for me - sorry for the list being so short now <span aria-label="bow" class="emoji emoji-1f647" role="img" title="bow">:bow:</span></p>



<a name="177057456"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/177057456" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#177057456">(Oct 01 2019 at 13:59)</a>:</h4>
<p>no worries, I'm happy to have a bit of time to do reviews :)</p>



<a name="177057488"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/177057488" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#177057488">(Oct 01 2019 at 13:59)</a>:</h4>
<p>I'd like us to make more progress on the "bigger IDE story" questions but I don't have much new to bring to the table there right now</p>



<a name="177057490"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/177057490" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#177057490">(Oct 01 2019 at 13:59)</a>:</h4>
<p>and I'm also glad we have a dedicated time slot to talk about it <span aria-label="thumbs up" class="emoji emoji-1f44d" role="img" title="thumbs up">:thumbs_up:</span></p>



<a name="177057495"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/177057495" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#177057495">(Oct 01 2019 at 14:00)</a>:</h4>
<p>Yes</p>



<a name="177057558"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/177057558" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#177057558">(Oct 01 2019 at 14:00)</a>:</h4>
<p>All set then?</p>



<a name="177057564"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/177057564" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#177057564">(Oct 01 2019 at 14:00)</a>:</h4>
<p>yeah</p>



<a name="177057576"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/177057576" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#177057576">(Oct 01 2019 at 14:00)</a>:</h4>
<p><span aria-label="heart" class="emoji emoji-2764" role="img" title="heart">:heart:</span> sounds good</p>



<a name="177057591"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/177057591" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#177057591">(Oct 01 2019 at 14:00)</a>:</h4>
<p>wrt bigger IDE story - that's a fair point, I believe it'd be good for me to focus on that as well</p>



<a name="177057620"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/177057620" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#177057620">(Oct 01 2019 at 14:00)</a>:</h4>
<p>I'll report back with any progress :)</p>



<a name="177057807"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/177057807" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#177057807">(Oct 01 2019 at 14:03)</a>:</h4>
<p>I didn't read the VFS discussion in detail but it seemed like there might be something there</p>



<a name="177057838"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/177057838" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#177057838">(Oct 01 2019 at 14:03)</a>:</h4>
<p>that'd be a good first step, yes :)</p>



<a name="178194658"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/178194658" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#178194658">(Oct 15 2019 at 13:48)</a>:</h4>
<p><span class="user-mention" data-user-id="116009">@nikomatsakis</span> <span aria-label="wave" class="emoji emoji-1f44b" role="img" title="wave">:wave:</span></p>



<a name="178194726"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/178194726" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#178194726">(Oct 15 2019 at 13:48)</a>:</h4>
<p>Hey <span class="user-mention" data-user-id="153740">@Igor Matuszewski</span></p>



<a name="178194755"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/178194755" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#178194755">(Oct 15 2019 at 13:49)</a>:</h4>
<p>Hey there</p>



<a name="178194787"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/178194787" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#178194787">(Oct 15 2019 at 13:49)</a>:</h4>
<p>How are things?</p>



<a name="178194800"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/178194800" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#178194800">(Oct 15 2019 at 13:49)</a>:</h4>
<p>I think the recent theme was fixing the fallout from the assertion promotion</p>



<a name="178194810"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/178194810" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#178194810">(Oct 15 2019 at 13:49)</a>:</h4>
<p><a href="https://github.com/rust-lang/rust/pull/65353" target="_blank" title="https://github.com/rust-lang/rust/pull/65353">https://github.com/rust-lang/rust/pull/65353</a></p>



<a name="178194940"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/178194940" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#178194940">(Oct 15 2019 at 13:50)</a>:</h4>
<p>I feel the current approach is somewhat hacky wrt the nesting and the def/hir ids</p>



<a name="178194951"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/178194951" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#178194951">(Oct 15 2019 at 13:50)</a>:</h4>
<p>but things seems to be working</p>



<a name="178194974"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/178194974" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#178194974">(Oct 15 2019 at 13:50)</a>:</h4>
<p>hmm ok</p>



<a name="178194984"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/178194984" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#178194984">(Oct 15 2019 at 13:50)</a>:</h4>
<p>this awaits your approval and I'd like to nominate this for beta, since the breakage hit quite a bit of deps on beta still</p>



<a name="178194985"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/178194985" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#178194985">(Oct 15 2019 at 13:50)</a>:</h4>
<p>I hadn't seen that PR yet</p>



<a name="178195031"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/178195031" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#178195031">(Oct 15 2019 at 13:51)</a>:</h4>
<p>the first commit seems fine</p>



<a name="178195035"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/178195035" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#178195035">(Oct 15 2019 at 13:51)</a>:</h4>
<p>I'm not sure what <code>nest_tables</code> does</p>



<a name="178195052"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/178195052" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#178195052">(Oct 15 2019 at 13:51)</a>:</h4>
<p>but that also "seems fine", I just have to look into the code a bit</p>



<a name="178195180"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/178195180" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#178195180">(Oct 15 2019 at 13:52)</a>:</h4>
<p>the visitor has a 'current/local' view on the typeck tables, that's used to resolve a qpath</p>



<a name="178195215"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/178195215" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#178195215">(Oct 15 2019 at 13:53)</a>:</h4>
<p>originally we nested the tables when visiting nested bodies to update that</p>



<a name="178195260"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/178195260" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#178195260">(Oct 15 2019 at 13:53)</a>:</h4>
<p>but in this particular case we have a struct which doesn't have a body per se, but its member type has a definition defined under that struct instead</p>



<a name="178195320"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/178195320" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#178195320">(Oct 15 2019 at 13:54)</a>:</h4>
<p>because it's a qpath, we tried previously to resolve that using the old/stale tables</p>



<a name="178195346"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/178195346" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#178195346">(Oct 15 2019 at 13:54)</a>:</h4>
<p>so the new approach is rather than leaving the old tables, whenever we nest into a definition/body and can't find tables, we just use  empty ones instead</p>



<a name="178195349"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/178195349" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#178195349">(Oct 15 2019 at 13:54)</a>:</h4>
<p>ah ok</p>



<a name="178195350"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/178195350" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#178195350">(Oct 15 2019 at 13:54)</a>:</h4>
<p>if that makes sense</p>



<a name="178195374"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/178195374" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#178195374">(Oct 15 2019 at 13:55)</a>:</h4>
<p>so the ICE was arising because <code>T::Assoc</code> was being resolved relative to the tables from <code>main</code>, you're saying</p>



<a name="178195383"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/178195383" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#178195383">(Oct 15 2019 at 13:55)</a>:</h4>
<p>(speaking specifically about the bug that unearthed this interaction)</p>



<a name="178195387"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/178195387" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#178195387">(Oct 15 2019 at 13:55)</a>:</h4>
<p>and I guess there is some logic that's like "is there a key for this id"</p>



<a name="178195393"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/178195393" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#178195393">(Oct 15 2019 at 13:55)</a>:</h4>
<p>or someting</p>



<a name="178195395"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/178195395" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#178195395">(Oct 15 2019 at 13:55)</a>:</h4>
<p>that was going wrong,..somehow</p>



<a name="178195397"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/178195397" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#178195397">(Oct 15 2019 at 13:55)</a>:</h4>
<p>yes</p>



<a name="178195421"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/178195421" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#178195421">(Oct 15 2019 at 13:55)</a>:</h4>
<p>specifically the <code>T::Assoc</code> had a def path under <code>struct</code>, but we had tables for <code>main</code></p>



<a name="178195509"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/178195509" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#178195509">(Oct 15 2019 at 13:56)</a>:</h4>
<p>and since the IDs have <code>(root, local_key)</code> layout, it can easily provide to a key lookup mismatch by using a wrong local key (using a wrong point of reference, wrong def root)</p>



<a name="178195531"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/178195531" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#178195531">(Oct 15 2019 at 13:56)</a>:</h4>
<p>that's specifically what the debug assertion was about, which was promoted recently to a regular one</p>



<a name="178195546"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/178195546" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#178195546">(Oct 15 2019 at 13:56)</a>:</h4>
<p>ok, r+'d</p>



<a name="178195594"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/178195594" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#178195594">(Oct 15 2019 at 13:57)</a>:</h4>
<p>great!</p>



<a name="178195625"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/178195625" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#178195625">(Oct 15 2019 at 13:57)</a>:</h4>
<p><span class="user-mention" data-user-id="153740">@Igor Matuszewski</span> will you be at RBR? I think so, right?</p>



<a name="178195629"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/178195629" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#178195629">(Oct 15 2019 at 13:57)</a>:</h4>
<p>yes</p>



<a name="178195701"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/178195701" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#178195701">(Oct 15 2019 at 13:58)</a>:</h4>
<p>flying tomorrow</p>



<a name="178195714"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/178195714" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#178195714">(Oct 15 2019 at 13:58)</a>:</h4>
<p>ok great</p>



<a name="178195717"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/178195717" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#178195717">(Oct 15 2019 at 13:58)</a>:</h4>
<p>I think I gotta run early today</p>



<a name="178195724"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/178195724" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#178195724">(Oct 15 2019 at 13:58)</a>:</h4>
<p>no worries</p>



<a name="178195728"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/178195728" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#178195728">(Oct 15 2019 at 13:58)</a>:</h4>
<p>but we can catch up a bit there, too :)</p>



<a name="178195731"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/178195731" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#178195731">(Oct 15 2019 at 13:58)</a>:</h4>
<p>I'll be there</p>



<a name="178195752"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/178195752" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#178195752">(Oct 15 2019 at 13:58)</a>:</h4>
<p>I know, I'm speaking just before you <span aria-label="sweat smile" class="emoji emoji-1f605" role="img" title="sweat smile">:sweat_smile:</span></p>



<a name="178195782"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/178195782" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#178195782">(Oct 15 2019 at 13:59)</a>:</h4>
<p>let's definitely do that, then</p>



<a name="178195810"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/178195810" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#178195810">(Oct 15 2019 at 13:59)</a>:</h4>
<p>apart from that we published a 0.7 version of the extension which fixed an annoying warning (fixed in RLS 1.38) and we introduced extension-side support for project layout</p>



<a name="178195838"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/178195838" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#178195838">(Oct 15 2019 at 13:59)</a>:</h4>
<p>I was w ondering if it'd be feasible to create a single Rust IDE extension but that's a topic for another time</p>



<a name="178195938"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/178195938" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#178195938">(Oct 15 2019 at 14:00)</a>:</h4>
<p>and for completeness sake we tried to flesh out a potential rustc (v)fs design so the only thing left is to create and submit a patch</p>



<a name="178195948"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/178195948" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#178195948">(Oct 15 2019 at 14:00)</a>:</h4>
<p>:)</p>



<a name="178195952"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/178195952" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#178195952">(Oct 15 2019 at 14:00)</a>:</h4>
<p>(in terms of unified IDE effort)</p>



<a name="178196114"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/178196114" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#178196114">(Oct 15 2019 at 14:02)</a>:</h4>
<p>okay then, let's catch up during the event!</p>



<a name="179330214"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/179330214" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#179330214">(Oct 29 2019 at 13:54)</a>:</h4>
<p><span class="user-mention" data-user-id="116009">@nikomatsakis</span> so</p>



<a name="179330221"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/179330221" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#179330221">(Oct 29 2019 at 13:54)</a>:</h4>
<p><span aria-label="wave" class="emoji emoji-1f44b" role="img" title="wave">:wave:</span></p>



<a name="179330251"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/179330251" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#179330251">(Oct 29 2019 at 13:54)</a>:</h4>
<p>I'm currently working on <a href="https://github.com/rust-lang/rust/issues/65590" target="_blank" title="https://github.com/rust-lang/rust/issues/65590">https://github.com/rust-lang/rust/issues/65590</a> and I think I'll need some help</p>



<a name="179330294"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/179330294" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#179330294">(Oct 29 2019 at 13:55)</a>:</h4>
<p>OK</p>



<a name="179330298"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/179330298" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#179330298">(Oct 29 2019 at 13:55)</a>:</h4>
<p>this is yet another ICE unearthed by the HIR ID validation when resolving qualified paths</p>



<a name="179330315"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/179330315" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#179330315">(Oct 29 2019 at 13:55)</a>:</h4>
<p>hopefully the last one</p>



<a name="179330379"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/179330379" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#179330379">(Oct 29 2019 at 13:56)</a>:</h4>
<p>We queued a crater run at <a href="https://github.com/rust-lang/rust/issues/65590#issuecomment-547391047" target="_blank" title="https://github.com/rust-lang/rust/issues/65590#issuecomment-547391047">https://github.com/rust-lang/rust/issues/65590#issuecomment-547391047</a> to see if there is any other fallout we should be looking at</p>



<a name="179330423"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/179330423" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#179330423">(Oct 29 2019 at 13:56)</a>:</h4>
<p>per <span class="user-mention" data-user-id="116083">@pnkfelix</span>'s suggestion I also tried to run our internal test suite with <code>-Zsave-analysis</code> locally but didn't find anything</p>



<a name="179330449"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/179330449" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#179330449">(Oct 29 2019 at 13:56)</a>:</h4>
<p>but let's come back to the ICE in a second</p>



<a name="179330462"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/179330462" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#179330462">(Oct 29 2019 at 13:57)</a>:</h4>
<p>OK. I see the problem has to do with the more "advanced" lowerings done by things like async blocks?</p>



<a name="179330485"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/179330485" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#179330485">(Oct 29 2019 at 13:57)</a>:</h4>
<p>it seems so, from what I understand</p>



<a name="179330500"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/179330500" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#179330500">(Oct 29 2019 at 13:57)</a>:</h4>
<p>is save-analysis walking the AST, or HIR?</p>



<a name="179330557"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/179330557" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#179330557">(Oct 29 2019 at 13:58)</a>:</h4>
<p>AST</p>



<a name="179330569"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/179330569" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#179330569">(Oct 29 2019 at 13:58)</a>:</h4>
<p>a simple reproduction is:</p>
<div class="codehilite"><pre><span></span><span class="k">impl</span><span class="w"> </span><span class="p">...</span><span class="w"> </span><span class="p">{</span><span class="w"></span>
<span class="w">    </span><span class="n">async</span><span class="w"> </span><span class="k">fn</span> <span class="nf">foo</span><span class="o">&lt;</span><span class="n">T</span>: <span class="nc">Trait</span><span class="o">&gt;</span><span class="p">(</span><span class="o">&amp;</span><span class="bp">self</span><span class="p">)</span><span class="w"> </span>-&gt; <span class="nc">T</span>::<span class="n">Assoc</span><span class="w"> </span><span class="p">{</span><span class="w"> </span><span class="p">...</span><span class="w"> </span><span class="p">}</span><span class="w"></span>
<span class="p">}</span><span class="w"></span>
</pre></div>



<a name="179330585"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/179330585" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#179330585">(Oct 29 2019 at 13:58)</a>:</h4>
<p>it requires the <code>T: Trait</code> I guess</p>



<a name="179330589"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/179330589" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#179330589">(Oct 29 2019 at 13:58)</a>:</h4>
<p>and <code>T::Assoc</code></p>



<a name="179330602"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/179330602" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#179330602">(Oct 29 2019 at 13:58)</a>:</h4>
<p>when we encounter <code>T::Assoc</code> we are looking it up at typeck tables for foo, so to speak</p>



<a name="179330623"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/179330623" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#179330623">(Oct 29 2019 at 13:59)</a>:</h4>
<p>Does this ICE occur with just <code>-Zsave-analysis</code>?</p>



<a name="179330637"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/179330637" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#179330637">(Oct 29 2019 at 13:59)</a>:</h4>
<p>yes</p>



<a name="179330662"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/179330662" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#179330662">(Oct 29 2019 at 13:59)</a>:</h4>
<p>OK, so we can easily create a standalone test case then</p>



<a name="179330675"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/179330675" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#179330675">(Oct 29 2019 at 13:59)</a>:</h4>
<div class="codehilite"><pre><span></span><span class="k">trait</span><span class="w"> </span><span class="n">Trait</span><span class="w"> </span><span class="p">{</span><span class="w"> </span><span class="k">type</span> <span class="nc">Assoc</span><span class="p">;</span><span class="w"> </span><span class="p">}</span><span class="w"></span>
</pre></div>


<p>I omitted that for brevity</p>



<a name="179330686"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/179330686" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#179330686">(Oct 29 2019 at 13:59)</a>:</h4>
<p>sure</p>



<a name="179330701"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/179330701" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#179330701">(Oct 29 2019 at 13:59)</a>:</h4>
<p>yep, working on a fix right now but not sure how best to tackle it tbh</p>



<a name="179330716"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/179330716" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#179330716">(Oct 29 2019 at 13:59)</a>:</h4>
<p>/me wonders if there would be value in adding a <code>-Z save-analysis</code> output target to <a href="http://play.rust-lang.org" target="_blank" title="http://play.rust-lang.org">play.rust-lang.org</a></p>



<a name="179330802"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/179330802" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#179330802">(Oct 29 2019 at 14:00)</a>:</h4>
<p>seems plausible</p>



<a name="179330814"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/179330814" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#179330814">(Oct 29 2019 at 14:00)</a>:</h4>
<p>there's a question whether we should consider this format for stabilization</p>



<a name="179330823"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/179330823" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#179330823">(Oct 29 2019 at 14:00)</a>:</h4>
<p>(if so)</p>



<a name="179330827"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/179330827" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#179330827">(Oct 29 2019 at 14:00)</a>:</h4>
<p>but also, it seems like we lack any tests targeting <code>-&gt; T::Assoc</code> in the async fn test base, eh?</p>



<a name="179330846"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/179330846" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#179330846">(Oct 29 2019 at 14:00)</a>:</h4>
<p>(since you said that running all tests with <code>-Zsave-analysis</code> didn't turn up anything)</p>



<a name="179330866"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/179330866" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#179330866">(Oct 29 2019 at 14:00)</a>:</h4>
<blockquote>
<p>there's a question whether we should consider this format for stabilization</p>
</blockquote>
<p>well, that seems like a distinct question</p>



<a name="179330893"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/179330893" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#179330893">(Oct 29 2019 at 14:01)</a>:</h4>
<p>like, we can test without stabilizing</p>



<a name="179330903"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/179330903" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#179330903">(Oct 29 2019 at 14:01)</a>:</h4>
<p>(play.rlo has other stuff that only works on nightly, like WASM)</p>



<a name="179330921"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/179330921" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#179330921">(Oct 29 2019 at 14:01)</a>:</h4>
<blockquote>
<p>/me wonders if there would be value in adding a <code>-Z save-analysis</code> output target to <a href="http://play.rust-lang.org" target="_blank" title="http://play.rust-lang.org">play.rust-lang.org</a></p>
</blockquote>
<p>oh, I misread this anyway, I thought you meant CI</p>



<a name="179330937"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/179330937" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#179330937">(Oct 29 2019 at 14:01)</a>:</h4>
<p>as for the bug itself</p>



<a name="179330987"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/179330987" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#179330987">(Oct 29 2019 at 14:02)</a>:</h4>
<p>I guess I don't know what best approach is but</p>



<a name="179330998"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/179330998" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#179330998">(Oct 29 2019 at 14:02)</a>:</h4>
<p>there's Language Server Index Format (<a href="https://github.com/microsoft/language-server-protocol/issues/623" target="_blank" title="https://github.com/microsoft/language-server-protocol/issues/623">https://github.com/microsoft/language-server-protocol/issues/623</a>) to consider as a "stable" API</p>



<a name="179331008"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/179331008" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#179331008">(Oct 29 2019 at 14:02)</a>:</h4>
<p>but we can continue about that later I imagine</p>



<a name="179331018"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/179331018" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#179331018">(Oct 29 2019 at 14:02)</a>:</h4>
<p>now <em>that</em>s interesting</p>



<a name="179331022"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/179331022" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#179331022">(Oct 29 2019 at 14:02)</a>:</h4>
<p>yes</p>



<a name="179331029"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/179331029" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#179331029">(Oct 29 2019 at 14:02)</a>:</h4>
<blockquote>
<p>oh, I misread this anyway, I thought you meant CI</p>
</blockquote>
<p>/me is scared to add more passes to CI after seeing the dev reactions to NLL's compare-mode</p>



<a name="179331086"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/179331086" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#179331086">(Oct 29 2019 at 14:03)</a>:</h4>
<p>could imagine it being a non-blocking thing, sort of like toolstate</p>



<a name="179331100"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/179331100" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#179331100">(Oct 29 2019 at 14:03)</a>:</h4>
<p>anyway, point is, ICEs in save-analysis pretty clearly affect the RLS</p>



<a name="179331112"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/179331112" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#179331112">(Oct 29 2019 at 14:03)</a>:</h4>
<p>let's not get <em>too</em> distracted tho</p>



<a name="179331120"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/179331120" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#179331120">(Oct 29 2019 at 14:03)</a>:</h4>
<p>right now I'm trying a weird approach of checking if a function is async and if so, somehow try to get a parent id of body but that's not the case</p>



<a name="179331136"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/179331136" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#179331136">(Oct 29 2019 at 14:03)</a>:</h4>
<p>maybe I'll have a better luck with actual parameter parent</p>



<a name="179331139"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/179331139" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#179331139">(Oct 29 2019 at 14:03)</a>:</h4>
<p>I don't really understand the problem yet</p>



<a name="179331153"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/179331153" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#179331153">(Oct 29 2019 at 14:03)</a>:</h4>
<p>can you say just a bit more ?</p>



<a name="179331158"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/179331158" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#179331158">(Oct 29 2019 at 14:03)</a>:</h4>
<p>yes</p>



<a name="179331199"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/179331199" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#179331199">(Oct 29 2019 at 14:04)</a>:</h4>
<p>(or maybe we should find another time to do a deeper technical dive?)</p>



<a name="179331208"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/179331208" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#179331208">(Oct 29 2019 at 14:04)</a>:</h4>
<p>as a disclaimer this is what I <em>presume</em> is happening</p>



<a name="179331227"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/179331227" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#179331227">(Oct 29 2019 at 14:04)</a>:</h4>
<p>well that's a good idea, although hopefully the fix is not so engaging</p>



<a name="179331241"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/179331241" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#179331241">(Oct 29 2019 at 14:04)</a>:</h4>
<p>depends what else you have in mind</p>



<a name="179331255"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/179331255" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#179331255">(Oct 29 2019 at 14:04)</a>:</h4>
<p>I do want to talk some about the eternal "IDE strategy" question -- was just discussing that with <span class="user-mention" data-user-id="116083">@pnkfelix</span> a <em>tiny</em> bit</p>



<a name="179331272"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/179331272" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#179331272">(Oct 29 2019 at 14:05)</a>:</h4>
<p>okay then,  let's schedule the problem for later then</p>



<a name="179331309"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/179331309" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#179331309">(Oct 29 2019 at 14:05)</a>:</h4>
<p>the only real thing I wanted to talk about with regard to IDE strategy was which of these sounded best to you</p>



<a name="179331314"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/179331314" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#179331314">(Oct 29 2019 at 14:05)</a>:</h4>
<p>hopefully a crater run will tell us if we're missing something else than that (I plan to land the fix before the next beta/stable promotion)</p>



<a name="179331437"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/179331437" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#179331437">(Oct 29 2019 at 14:06)</a>:</h4>
<p>do you mean what tool should we focus on (to simplify)?</p>



<a name="179331439"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/179331439" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#179331439">(Oct 29 2019 at 14:06)</a>:</h4>
<p>I think we need to try and "map out" the various "high level" options -- basically what you and I are started doing -- and their pros/cons and (I think) examples of their implications, and then commit to a course</p>



<a name="179331451"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/179331451" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#179331451">(Oct 29 2019 at 14:07)</a>:</h4>
<p>I am not sure how best to do this, it is hard :)</p>



<a name="179331486"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/179331486" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#179331486">(Oct 29 2019 at 14:07)</a>:</h4>
<p>right</p>



<a name="179331502"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/179331502" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#179331502">(Oct 29 2019 at 14:07)</a>:</h4>
<p>I think the first step might be to spend some time on this in a very small gruop, e.g. I could imagine felix and I trying to do it, to figure out the overall shape.</p>



<a name="179331504"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/179331504" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#179331504">(Oct 29 2019 at 14:07)</a>:</h4>
<p>do you have something specific in mind now, in addition to what we started doing?</p>



<a name="179331559"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/179331559" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#179331559">(Oct 29 2019 at 14:08)</a>:</h4>
<p>I think the next step would be discussing with you + <span class="user-mention" data-user-id="133169">@matklad</span></p>



<a name="179331585"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/179331585" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#179331585">(Oct 29 2019 at 14:08)</a>:</h4>
<p>and maybe after that a wider design meeting?</p>



<a name="179331622"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/179331622" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#179331622">(Oct 29 2019 at 14:08)</a>:</h4>
<p>sounds reasonable =)</p>



<a name="179331634"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/179331634" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#179331634">(Oct 29 2019 at 14:08)</a>:</h4>
<blockquote>
<p>do you have something specific in mind now, in addition to what we started doing?</p>
</blockquote>
<p>not exactly, I think that was roughly in the right direction -- I think just trying to organize that information in a hackmd, and one thing I would specifically want to do is to evaluate different proposed bits of work against these plans, and maybe look at a few scenarios: like "what kind of RLS support are we doing here" etc</p>



<a name="179331656"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/179331656" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#179331656">(Oct 29 2019 at 14:09)</a>:</h4>
<p>basically I think the more we can make the plans <em>concrete</em> in terms of what we would do or not do, the better</p>



<a name="179331664"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/179331664" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#179331664">(Oct 29 2019 at 14:09)</a>:</h4>
<p>I think it'd be also great to have a more specific set of deliverables</p>



<a name="179331667"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/179331667" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#179331667">(Oct 29 2019 at 14:09)</a>:</h4>
<p>but I don't think this has to be that horribly complex</p>



<a name="179331719"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/179331719" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#179331719">(Oct 29 2019 at 14:10)</a>:</h4>
<p>in the sense that it'd be good to say, e.g. the goal of working on X is to separate parser data structures in rustc, or fully integrate Chalk or something</p>



<a name="179331721"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/179331721" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#179331721">(Oct 29 2019 at 14:10)</a>:</h4>
<p>I was telling Felix that I think we should be aiming to have some form of decision by 2020, or very early therein</p>



<a name="179331773"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/179331773" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#179331773">(Oct 29 2019 at 14:10)</a>:</h4>
<p>so that 2020's roadmap is to "execute"</p>



<a name="179331779"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/179331779" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#179331779">(Oct 29 2019 at 14:10)</a>:</h4>
<p>if that makes sense</p>



<a name="179331804"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/179331804" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#179331804">(Oct 29 2019 at 14:10)</a>:</h4>
<blockquote>
<p>in the sense that it'd be good to say, e.g. the goal of working on X is to separate parser data structures in rustc, or fully integrate Chalk or something</p>
</blockquote>
<p>incidentally I think that <a class="stream" data-stream-id="144729" href="/#narrow/stream/144729-wg-traits">#wg-traits</a> has the same problem :)</p>



<a name="179331819"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/179331819" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#179331819">(Oct 29 2019 at 14:10)</a>:</h4>
<p>not to trap ourselves a bit in the "continuous improvement" (which is obviously  good but it'd be great to ship in that sense)</p>



<a name="179331821"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/179331821" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#179331821">(Oct 29 2019 at 14:10)</a>:</h4>
<p>i.e., the question of "to chalk or not to chalk" has a lot of the same feeling</p>



<a name="179331843"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/179331843" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#179331843">(Oct 29 2019 at 14:10)</a>:</h4>
<blockquote>
<p>not to trap ourselves a bit in the "continuous improvement" (which is obviously  good but it'd be great to ship in that sense)</p>
</blockquote>
<p>can you say what you mean by "continuous improvement"?</p>



<a name="179331880"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/179331880" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#179331880">(Oct 29 2019 at 14:11)</a>:</h4>
<p>sorry if I'm being overly general <span aria-label="sweat smile" class="emoji emoji-1f605" role="img" title="sweat smile">:sweat_smile:</span></p>



<a name="179331930"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/179331930" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#179331930">(Oct 29 2019 at 14:11)</a>:</h4>
<p>constantly working something and improving is good, but if we come up with a plan it'd be good for it to have a well-defined 'end' so to speak</p>



<a name="179331944"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/179331944" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#179331944">(Oct 29 2019 at 14:11)</a>:</h4>
<p>like NLL migration work</p>



<a name="179332001"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/179332001" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#179332001">(Oct 29 2019 at 14:12)</a>:</h4>
<p>ok ok</p>



<a name="179332004"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/179332004" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#179332004">(Oct 29 2019 at 14:12)</a>:</h4>
<p>or e.g. librarification until now sharing the lexer</p>



<a name="179332020"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/179332020" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#179332020">(Oct 29 2019 at 14:12)</a>:</h4>
<p>I think probably a good ingredient here is</p>



<a name="179332043"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/179332043" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#179332043">(Oct 29 2019 at 14:12)</a>:</h4>
<p>"where can we realistically expect to be in a year" (say)</p>



<a name="179332047"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/179332047" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#179332047">(Oct 29 2019 at 14:12)</a>:</h4>
<p>(to Chalk or not to Chalk is actually a good summary)</p>



<a name="179332051"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/179332051" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#179332051">(Oct 29 2019 at 14:12)</a>:</h4>
<p>which sort of fits in</p>



<a name="179332119"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/179332119" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#179332119">(Oct 29 2019 at 14:13)</a>:</h4>
<p>that's a good question</p>



<a name="179332242"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/179332242" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#179332242">(Oct 29 2019 at 14:14)</a>:</h4>
<p>I think it's both useful to know on its own, but it probably also helps to define the "goals"</p>



<a name="179332243"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/179332243" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#179332243">(Oct 29 2019 at 14:14)</a>:</h4>
<p>so we should think about that before coming up with a more fleshed out strategy?</p>



<a name="179332302"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/179332302" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#179332302">(Oct 29 2019 at 14:15)</a>:</h4>
<p>it'd be good to analyze the landscape a bit and see what's missing/not great</p>



<a name="179332333"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/179332333" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#179332333">(Oct 29 2019 at 14:15)</a>:</h4>
<p>hmm let's just do this :)</p>



<a name="179332335"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/179332335" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#179332335">(Oct 29 2019 at 14:15)</a>:</h4>
<p>I know that compiler-backed completion isn't really done the way users would expect it to in either of the tools/models</p>



<a name="179332339"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/179332339" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#179332339">(Oct 29 2019 at 14:15)</a>:</h4>
<p>when is a good time to start talking this out</p>



<a name="179332349"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/179332349" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#179332349">(Oct 29 2019 at 14:15)</a>:</h4>
<p>/me thinks about his own calendar</p>



<a name="179332406"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/179332406" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#179332406">(Oct 29 2019 at 14:16)</a>:</h4>
<blockquote>
<p>I know that compiler-backed completion isn't really done the way users would expect it to in either of the tools/models</p>
</blockquote>
<p>say a bit more about that?</p>



<a name="179332435"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/179332435" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#179332435">(Oct 29 2019 at 14:16)</a>:</h4>
<p>I have to admit I don't have exact knowledge on the RA side of the things</p>



<a name="179332460"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/179332460" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#179332460">(Oct 29 2019 at 14:16)</a>:</h4>
<p>but Racer is lacking (simplistic type system), RLS doesn't do it</p>



<a name="179332510"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/179332510" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#179332510">(Oct 29 2019 at 14:17)</a>:</h4>
<p>ok ok</p>



<a name="179332521"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/179332521" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#179332521">(Oct 29 2019 at 14:17)</a>:</h4>
<p>and I think just having a bulletproof completion, following through type inference, derefs, trait resolution would be very useful  for the end users</p>



<a name="179332625"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/179332625" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#179332625">(Oct 29 2019 at 14:18)</a>:</h4>
<p>hm, so I wanted to lay out a couple of perspectives such as project support, "indexing" features but I'm not sure if that's a good idea</p>



<a name="179332647"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/179332647" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#179332647">(Oct 29 2019 at 14:18)</a>:</h4>
<p>maybe another perspective would be how convenient is getting all the tooling for the end-user</p>



<a name="179332840"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/179332840" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#179332840">(Oct 29 2019 at 14:20)</a>:</h4>
<p>sorry, in the weeds here</p>



<a name="179332882"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/179332882" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#179332882">(Oct 29 2019 at 14:20)</a>:</h4>
<p>those are useful details</p>



<a name="179332989"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/179332989" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#179332989">(Oct 29 2019 at 14:21)</a>:</h4>
<p>ok, so, I've <a href="https://hackmd.io/9qrJYdSLTK2MWG4-pbmpWw" target="_blank" title="https://hackmd.io/9qrJYdSLTK2MWG4-pbmpWw">created a hackmd</a> -- I'm going to schedule some time to try and transcribe our notes from rustbeltrust and see how I feel.</p>



<a name="179332999"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/179332999" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#179332999">(Oct 29 2019 at 14:21)</a>:</h4>
<p>sure thing</p>



<a name="179333003"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/179333003" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#179333003">(Oct 29 2019 at 14:21)</a>:</h4>
<p>feel free to add some notes in there yourself</p>



<a name="179333004"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/179333004" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#179333004">(Oct 29 2019 at 14:21)</a>:</h4>
<p><span class="user-mention" data-user-id="119235">@David Tolnay</span> also mentioned that it if a language feature is harder to get a proper IDE support it might be worth warning against</p>



<a name="179333009"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/179333009" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#179333009">(Oct 29 2019 at 14:21)</a>:</h4>
<p>e.g. the above content</p>



<a name="179333084"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/179333084" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#179333084">(Oct 29 2019 at 14:22)</a>:</h4>
<p>one such example might be a deeply nested <code>mod file</code> statements or impl blocks inside function bodies that affect global resolution</p>



<a name="179333103"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/179333103" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#179333103">(Oct 29 2019 at 14:22)</a>:</h4>
<p>indeed</p>



<a name="179333120"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/179333120" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#179333120">(Oct 29 2019 at 14:22)</a>:</h4>
<p>maybe it'd be good to lay down a tiered support model</p>



<a name="179333164"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/179333164" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#179333164">(Oct 29 2019 at 14:22)</a>:</h4>
<p>e.g. "we will work on fully supporting regular Rust without X,Y,Z"</p>



<a name="179333209"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/179333209" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#179333209">(Oct 29 2019 at 14:23)</a>:</h4>
<p>once that's somewhat done, we could move on to gradually work on and polish other features</p>



<a name="179333264"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/179333264" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#179333264">(Oct 29 2019 at 14:23)</a>:</h4>
<p>maybe that's also connected in general to what people want to see from their tooling rather than just blindly trying to support everything or supporting fully a very specific subset</p>



<a name="179333323"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/179333323" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#179333323">(Oct 29 2019 at 14:24)</a>:</h4>
<p>will take a look at the doc</p>



<a name="179333472"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/179333472" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#179333472">(Oct 29 2019 at 14:26)</a>:</h4>
<p>I think the main idea was to split the data and logic so you could specialize over tool-specific structures to optimize for a specific use case? (batch compilation vs ide)</p>



<a name="179333549"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/179333549" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#179333549">(Oct 29 2019 at 14:26)</a>:</h4>
<p>/me trying not to forget all of what we talked about at rustbeltrust</p>



<a name="179334015"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/179334015" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> matklad <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#179334015">(Oct 29 2019 at 14:31)</a>:</h4>
<p>I am semi-here, will catch up on the discussion later!</p>



<a name="179343650"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/179343650" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> matklad <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#179343650">(Oct 29 2019 at 16:00)</a>:</h4>
<p>Yep, answering the IDE question would be great! I feel like between various meeting we had we've covered the design space pretty thoroughly (in partciular, these notes: <a href="https://hackmd.io/S5wub4mfToSnnLGvK3I-ew?edit" target="_blank" title="https://hackmd.io/S5wub4mfToSnnLGvK3I-ew?edit">https://hackmd.io/S5wub4mfToSnnLGvK3I-ew?edit</a>). So, we probably might want place emphasis on picking a concrete actionable tactical plan</p>



<a name="180523066"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/180523066" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#180523066">(Nov 12 2019 at 14:46)</a>:</h4>
<p><span class="user-mention" data-user-id="116009">@nikomatsakis</span> <span aria-label="wave" class="emoji emoji-1f44b" role="img" title="wave">:wave:</span></p>



<a name="180523106"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/180523106" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#180523106">(Nov 12 2019 at 14:47)</a>:</h4>
<p><span class="user-mention" data-user-id="153740">@Igor Matuszewski</span> <span aria-label="wave" class="emoji emoji-1f44b" role="img" title="wave">:wave:</span></p>



<a name="180523172"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/180523172" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#180523172">(Nov 12 2019 at 14:47)</a>:</h4>
<p>So recently we fixed hopefully the last ICE that I mentioned during our last meeting</p>



<a name="180523232"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/180523232" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#180523232">(Nov 12 2019 at 14:48)</a>:</h4>
<p>with the associated type in impl trait in async lowering</p>



<a name="180523240"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/180523240" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#180523240">(Nov 12 2019 at 14:48)</a>:</h4>
<p>and it seems that was the last of it now <span aria-label="tada" class="emoji emoji-1f389" role="img" title="tada">:tada:</span></p>



<a name="180523264"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/180523264" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#180523264">(Nov 12 2019 at 14:48)</a>:</h4>
<p>before the release cut, so that's good news</p>



<a name="180523295"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/180523295" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#180523295">(Nov 12 2019 at 14:49)</a>:</h4>
<p>That's good :)</p>



<a name="180523319"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/180523319" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#180523319">(Nov 12 2019 at 14:49)</a>:</h4>
<p>in terms of unifying IDE effort I was wondering if we can at least unify the VS Code extension for RLS/RA</p>



<a name="180523325"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/180523325" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#180523325">(Nov 12 2019 at 14:49)</a>:</h4>
<p>and we talked briefly with <span class="user-mention" data-user-id="133169">@matklad</span> about it</p>



<a name="180523360"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/180523360" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#180523360">(Nov 12 2019 at 14:49)</a>:</h4>
<p>but the concern was whether RA is of "production quality" which I believe leans a bit more into the discussion you had</p>



<a name="180523374"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/180523374" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#180523374">(Nov 12 2019 at 14:49)</a>:</h4>
<p>with Felix as well</p>



<a name="180523429"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/180523429" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#180523429">(Nov 12 2019 at 14:50)</a>:</h4>
<p>so I'm interesting if it touches on that anyhow</p>



<a name="180523448"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/180523448" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#180523448">(Nov 12 2019 at 14:50)</a>:</h4>
<p>Good question</p>



<a name="180523451"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/180523451" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#180523451">(Nov 12 2019 at 14:50)</a>:</h4>
<p>I was just talking to <span class="user-mention" data-user-id="116083">@pnkfelix</span></p>



<a name="180523486"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/180523486" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#180523486">(Nov 12 2019 at 14:50)</a>:</h4>
<p>I want to try and pull those notes together into something a bit more "approachable" but I think my main takeaway from the conversation with <span class="user-mention" data-user-id="133169">@matklad</span> was</p>



<a name="180523501"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/180523501" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#180523501">(Nov 12 2019 at 14:50)</a>:</h4>
<p>Well we kind of landed on two alternatives, and explored them somewhat:</p>



<a name="180523548"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/180523548" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#180523548">(Nov 12 2019 at 14:51)</a>:</h4>
<ul>
<li>libraryification, where rust-analyzer + rustc are two separate projects and we try to create shared libraries</li>
<li>take lessons from rust-analyzer and try to "rebuild it" atop rustc, incrementally</li>
</ul>



<a name="180523568"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/180523568" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#180523568">(Nov 12 2019 at 14:51)</a>:</h4>
<p>I feel pretty persuaded that, given where we are now, the first path makes more sense</p>



<a name="180523591"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/180523591" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#180523591">(Nov 12 2019 at 14:51)</a>:</h4>
<p>Among other things, rust-analyzer is delivering value to users now, and basically each successful library-ification will increase that value</p>



<a name="180523606"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/180523606" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#180523606">(Nov 12 2019 at 14:51)</a>:</h4>
<p>However, there remain some open questions</p>



<a name="180523670"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/180523670" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#180523670">(Nov 12 2019 at 14:52)</a>:</h4>
<p>and I think the biggest one is how rust-analyzer and RLS "relate"</p>



<a name="180523707"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/180523707" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#180523707">(Nov 12 2019 at 14:52)</a>:</h4>
<p>I'm not sure I fully understand the range of choices here</p>



<a name="180523716"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/180523716" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#180523716">(Nov 12 2019 at 14:52)</a>:</h4>
<p>I had in mind two options, but you just raised an (appealing) third</p>



<a name="180523728"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/180523728" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#180523728">(Nov 12 2019 at 14:52)</a>:</h4>
<p>I was thinking of</p>



<a name="180523774"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/180523774" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#180523774">(Nov 12 2019 at 14:53)</a>:</h4>
<ul>
<li>rust-analyzer takes the place of racer in the RLS, as the "fast but (for now) approximate" option, and perhaps the means to handle completions etc</li>
</ul>



<a name="180523778"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/180523778" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#180523778">(Nov 12 2019 at 14:53)</a>:</h4>
<p>or</p>



<a name="180523799"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/180523799" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#180523799">(Nov 12 2019 at 14:53)</a>:</h4>
<ul>
<li>we deprecate RLS and encourage people to adopt rust-analyzer</li>
</ul>



<a name="180523822"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/180523822" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#180523822">(Nov 12 2019 at 14:53)</a>:</h4>
<p>I am not sure I understand what is required to do the second or under what conditions it makes sense</p>



<a name="180523845"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/180523845" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#180523845">(Nov 12 2019 at 14:53)</a>:</h4>
<p>I do think it would be good to see if we can create some metrics to help drive our effort, whichever we do</p>



<a name="180523888"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/180523888" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#180523888">(Nov 12 2019 at 14:54)</a>:</h4>
<p>I am also open that these two options are overly "rust-analyzer" centric</p>



<a name="180523904"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/180523904" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#180523904">(Nov 12 2019 at 14:54)</a>:</h4>
<p>in any case you raised an interesting third option</p>



<a name="180523972"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/180523972" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#180523972">(Nov 12 2019 at 14:55)</a>:</h4>
<p>what do you specifically refer to by a third option?</p>



<a name="180523976"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/180523976" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#180523976">(Nov 12 2019 at 14:55)</a>:</h4>
<blockquote>
<p>I do think it would be good to see if we can create some metrics to help drive our effort, whichever we do</p>
</blockquote>
<p>(to circle back to this slightly, I remember that we had some controversy around whether RLS was "ready" to be 1.0 -- I think part of the problem there was we never did much work in establishing a set of projects and functionality that we deemed "sufficient"? maybe? I'm also worried about wasting time building up definitions that won't in reality be of much use)</p>



<a name="180523982"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/180523982" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#180523982">(Nov 12 2019 at 14:55)</a>:</h4>
<blockquote>
<p>what do you specifically refer to by a third option?</p>
</blockquote>
<p>sorry, what I meant is</p>



<a name="180523992"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/180523992" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#180523992">(Nov 12 2019 at 14:55)</a>:</h4>
<ul>
<li>having shared plugin</li>
</ul>



<a name="180523999"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/180523999" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#180523999">(Nov 12 2019 at 14:55)</a>:</h4>
<p>it's not really a third option on its own</p>



<a name="180524042"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/180524042" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#180524042">(Nov 12 2019 at 14:55)</a>:</h4>
<p>just a separate part of it, rather, right</p>



<a name="180524046"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/180524046" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#180524046">(Nov 12 2019 at 14:55)</a>:</h4>
<p>but it might be an aspect of the final choice I guess</p>



<a name="180524132"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/180524132" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#180524132">(Nov 12 2019 at 14:56)</a>:</h4>
<p>my concern with trying to have rust-analyzer play the role of racer is that it's .. kind of too complex and heavy-weight for that role, maybe?</p>



<a name="180524137"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/180524137" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#180524137">(Nov 12 2019 at 14:56)</a>:</h4>
<p>so anything in the long run that's beneficial for the user is the best for us</p>



<a name="180524155"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/180524155" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#180524155">(Nov 12 2019 at 14:56)</a>:</h4>
<p>I worry about memory usage, etc, and basically just creating more complexity than we solve</p>



<a name="180524193"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/180524193" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#180524193">(Nov 12 2019 at 14:57)</a>:</h4>
<p>Yes, memory usage was of a primary concern from what I understand that <span class="user-mention" data-user-id="133169">@matklad</span> told about the performance overhead of the RA</p>



<a name="180524228"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/180524228" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#180524228">(Nov 12 2019 at 14:57)</a>:</h4>
<p>having a unified front in some form, like the extension is good</p>



<a name="180524251"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/180524251" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#180524251">(Nov 12 2019 at 14:57)</a>:</h4>
<p>but the problem is that it's only there for a single editor</p>



<a name="180524271"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/180524271" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#180524271">(Nov 12 2019 at 14:57)</a>:</h4>
<p>what do you .. oh, like VSCode</p>



<a name="180524274"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/180524274" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#180524274">(Nov 12 2019 at 14:58)</a>:</h4>
<p>I see</p>



<a name="180524323"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/180524323" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#180524323">(Nov 12 2019 at 14:58)</a>:</h4>
<p>and doing this for two editor-agnostic tools seems somewhat counterintuitive (although it might be productive seeing as vscode is one of the most popular ones)</p>



<a name="180524329"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/180524329" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#180524329">(Nov 12 2019 at 14:58)</a>:</h4>
<p>because the other integrations are not managed by us</p>



<a name="180524342"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/180524342" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#180524342">(Nov 12 2019 at 14:58)</a>:</h4>
<p>is there some way to do it at the "LSP" level?</p>



<a name="180524360"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/180524360" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#180524360">(Nov 12 2019 at 14:58)</a>:</h4>
<p>huh</p>



<a name="180524374"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/180524374" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#180524374">(Nov 12 2019 at 14:58)</a>:</h4>
<p>we could in theory somewhat unify that</p>



<a name="180524379"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/180524379" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#180524379">(Nov 12 2019 at 14:58)</a>:</h4>
<p>I don't really understand the division of responsibilities between the plugin and the LSP</p>



<a name="180524385"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/180524385" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#180524385">(Nov 12 2019 at 14:58)</a>:</h4>
<p>but the deeper we go in this direction the quicker we approach the RA-in-RLS approach</p>



<a name="180524406"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/180524406" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#180524406">(Nov 12 2019 at 14:59)</a>:</h4>
<p>right now our VSCode plugin does VS Code workspace detection</p>



<a name="180524436"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/180524436" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#180524436">(Nov 12 2019 at 14:59)</a>:</h4>
<p>maybe the real question is: in what way would adopting rust-analyzer seem a "regression" for end-users vs RLS? One thing I know is precision of "Go To Definition"</p>



<a name="180524446"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/180524446" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#180524446">(Nov 12 2019 at 14:59)</a>:</h4>
<p>and delegates where and how to spawn rls instances for the relevant folders, it synchronizes the configuration and it's capable of installing the Rust toolchains (and Rust as well)</p>



<a name="180524524"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/180524524" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#180524524">(Nov 12 2019 at 15:00)</a>:</h4>
<p>Actually, let me back up, I want to ask another question</p>



<a name="180524526"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/180524526" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#180524526">(Nov 12 2019 at 15:00)</a>:</h4>
<p>FWIU find all references does not work in RA</p>



<a name="180524544"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/180524544" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#180524544">(Nov 12 2019 at 15:00)</a>:</h4>
<p>(I think that may have recently changed)</p>



<a name="180524578"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/180524578" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#180524578">(Nov 12 2019 at 15:00)</a>:</h4>
<p>go to definition might be precise but sometimes we don't have total knowledge and that's there the heuristical approach works somewhat good (where we use Racer for it now)</p>



<a name="180524582"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/180524582" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#180524582">(Nov 12 2019 at 15:00)</a>:</h4>
<p>How much work is it to "maintain" RLS in its current form, without making architectural changes?</p>



<a name="180524592"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/180524592" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#180524592">(Nov 12 2019 at 15:00)</a>:</h4>
<p>It seems like we have had a reasonably steady stream of ICEs</p>



<a name="180524620"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/180524620" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#180524620">(Nov 12 2019 at 15:01)</a>:</h4>
<p>But those may be linked to other refactorings?</p>



<a name="180524622"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/180524622" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#180524622">(Nov 12 2019 at 15:01)</a>:</h4>
<p>I forget</p>



<a name="180524640"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/180524640" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#180524640">(Nov 12 2019 at 15:01)</a>:</h4>
<p>oh that was due to the change of save-analysis - it seems that was caused by doing the wrong thing and having only a <em>debug</em> assertion</p>



<a name="180524676"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/180524676" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#180524676">(Nov 12 2019 at 15:01)</a>:</h4>
<p>one bug report popped up, we fixed that and promoted the assertion but this in turn unearthed a couple of different bad interactions in the form of ICEs</p>



<a name="180524746"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/180524746" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#180524746">(Nov 12 2019 at 15:02)</a>:</h4>
<p>so it was save-analysis refactoring purely</p>



<a name="180524796"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/180524796" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#180524796">(Nov 12 2019 at 15:02)</a>:</h4>
<p>we could considerably do the other integration, so try to embed RLS in RA</p>



<a name="180524854"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/180524854" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#180524854">(Nov 12 2019 at 15:02)</a>:</h4>
<p>in the sense that RA would accept a save-analysis files and use the existing infrastructure to lower all that into a single interface</p>



<a name="180524855"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/180524855" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#180524855">(Nov 12 2019 at 15:03)</a>:</h4>
<p>( regarding find usages in rust-analyzer, see <a href="#narrow/stream/185405-t-compiler.2Fwg-rls-2.2E0/topic/weekly.20sync-up/near/179233513" title="#narrow/stream/185405-t-compiler.2Fwg-rls-2.2E0/topic/weekly.20sync-up/near/179233513">this comment</a> from <span class="user-mention" data-user-id="133169">@matklad</span> )</p>



<a name="180524894"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/180524894" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#180524894">(Nov 12 2019 at 15:03)</a>:</h4>
<p>Oh, that's great to hear!</p>



<a name="180524921"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/180524921" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#180524921">(Nov 12 2019 at 15:03)</a>:</h4>
<p>that's true. I am not sure how plausible that is (rust-analyzer integrating save analysis). It is conceivable at least.</p>



<a name="180524932"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/180524932" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#180524932">(Nov 12 2019 at 15:03)</a>:</h4>
<p>it seemed like the most obvious "blocker"</p>



<a name="180525013"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/180525013" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#180525013">(Nov 12 2019 at 15:04)</a>:</h4>
<p>I guess what I'm wondering is</p>



<a name="180525024"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/180525024" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#180525024">(Nov 12 2019 at 15:04)</a>:</h4>
<p>by embedding save-analysis support in the RA we could potentially get the quick and alzy approach of RA but where we're concerned we could get the data dump as done by rustc exactly</p>



<a name="180525113"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/180525113" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#180525113">(Nov 12 2019 at 15:05)</a>:</h4>
<p>if we opted to put "all our energies" into rust-analyzer, while keeping RLS as the deprecated, but usable option in the meantime, how much work would it be to maintain it. My hope would be that you would be able to instead to come up to speed on rust-analyzer and work on pushing that to the point where it can be used instead.</p>



<a name="180525136"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/180525136" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#180525136">(Nov 12 2019 at 15:05)</a>:</h4>
<blockquote>
<p>How much work is it to "maintain" RLS in its current form, without making architectural changes?</p>
</blockquote>
<p>To come back to that, the save-analysis regressions were unrelated to the RLS itself and so maintaining what we have in the current form is not that time-consuming</p>



<a name="180525137"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/180525137" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#180525137">(Nov 12 2019 at 15:05)</a>:</h4>
<p>yeah, it's an interesting thought</p>



<a name="180525183"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/180525183" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#180525183">(Nov 12 2019 at 15:05)</a>:</h4>
<p>This seems like it would be worth trying to have a focused meeting with you, <span class="user-mention" data-user-id="133169">@matklad</span>, plus maybe myself + <span class="user-mention" data-user-id="116083">@pnkfelix</span></p>



<a name="180525277"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/180525277" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#180525277">(Nov 12 2019 at 15:06)</a>:</h4>
<p>definitely</p>



<a name="180525287"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/180525287" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> matklad <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#180525287">(Nov 12 2019 at 15:06)</a>:</h4>
<p>+1</p>



<a name="180525331"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/180525331" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#180525331">(Nov 12 2019 at 15:06)</a>:</h4>
<p>personally I'd feel comfortable if we try to polish and improve the shared library approach</p>



<a name="180525343"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/180525343" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#180525343">(Nov 12 2019 at 15:06)</a>:</h4>
<p>I think that's the best way to improve two sides at the same time</p>



<a name="180525363"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/180525363" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#180525363">(Nov 12 2019 at 15:07)</a>:</h4>
<p>rather than just writing another compiler, if that makes sense</p>



<a name="180525396"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/180525396" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#180525396">(Nov 12 2019 at 15:07)</a>:</h4>
<blockquote>
<p>personally I'd feel comfortable if we try to polish and improve the shared library approach</p>
</blockquote>
<p>"libraryification"?</p>



<a name="180525402"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/180525402" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#180525402">(Nov 12 2019 at 15:07)</a>:</h4>
<p>to do so, I think it'd be good to gauge the user experience</p>



<a name="180525436"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/180525436" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#180525436">(Nov 12 2019 at 15:07)</a>:</h4>
<blockquote>
<blockquote>
<p>personally I'd feel comfortable if we try to polish and improve the shared library approach</p>
</blockquote>
<p>"libraryification"?</p>
</blockquote>
<p>Yes, as I understand it and what you proposed as the "1st approach" and what's been happening with lexer for example</p>



<a name="180525438"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/180525438" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#180525438">(Nov 12 2019 at 15:07)</a>:</h4>
<p>in other words, that's what you meant by "shared library", right?</p>



<a name="180525507"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/180525507" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#180525507">(Nov 12 2019 at 15:08)</a>:</h4>
<p>OK</p>



<a name="180525537"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/180525537" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#180525537">(Nov 12 2019 at 15:08)</a>:</h4>
<p>so if we were to do the switch</p>



<a name="180525570"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/180525570" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#180525570">(Nov 12 2019 at 15:08)</a>:</h4>
<p>it'd be good to see what RLS features RA might be lacking and the other way around</p>



<a name="180525598"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/180525598" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#180525598">(Nov 12 2019 at 15:09)</a>:</h4>
<p>to promote around the better parts (quick, lazy?)</p>



<a name="180525636"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/180525636" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#180525636">(Nov 12 2019 at 15:09)</a>:</h4>
<p>and to see what we might want to prioritize on the RA side</p>



<a name="180525650"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/180525650" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#180525650">(Nov 12 2019 at 15:09)</a>:</h4>
<p>to provide parity</p>



<a name="180525658"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/180525658" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#180525658">(Nov 12 2019 at 15:09)</a>:</h4>
<p>if that makes sense</p>



<a name="180525722"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/180525722" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#180525722">(Nov 12 2019 at 15:10)</a>:</h4>
<p>or rather, to smoothen the transition</p>



<a name="180525782"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/180525782" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#180525782">(Nov 12 2019 at 15:10)</a>:</h4>
<p>On that note, I agree with <span class="user-mention" data-user-id="133169">@matklad</span> general sentiment that save-analysis is useful for the offline code indexing</p>



<a name="180525827"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/180525827" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#180525827">(Nov 12 2019 at 15:11)</a>:</h4>
<p>so it'd be good to not fully deprecate/remove RLS as it's a convenient tool to drive the generation of SA</p>



<a name="180525855"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/180525855" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#180525855">(Nov 12 2019 at 15:11)</a>:</h4>
<p>and from that we might consider following the LSIF and possibly power the code smartness in the GitHub</p>



<a name="180525865"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/180525865" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#180525865">(Nov 12 2019 at 15:11)</a>:</h4>
<p>which I think would be valuable and very marketable</p>



<a name="180525877"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/180525877" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#180525877">(Nov 12 2019 at 15:11)</a>:</h4>
<p>but I'm getting a little off-track <span aria-label="sweat smile" class="emoji emoji-1f605" role="img" title="sweat smile">:sweat_smile:</span></p>



<a name="180525951"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/180525951" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> matklad <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#180525951">(Nov 12 2019 at 15:12)</a>:</h4>
<p>Hm, I guess, if we implement rename refactoring via save-analysis in rust-analyzer, than ra can keep sa from bitrotting?</p>



<a name="180526045"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/180526045" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#180526045">(Nov 12 2019 at 15:13)</a>:</h4>
<p>well, I think the LSIF (this is the offline language server stuff?) is really interesting</p>



<a name="180526050"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/180526050" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#180526050">(Nov 12 2019 at 15:13)</a>:</h4>
<p>yeah that's one usage/approach</p>



<a name="180526078"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/180526078" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#180526078">(Nov 12 2019 at 15:13)</a>:</h4>
<p>one of my concerns with save-analysis as is is that it is just kind our own one-off thing</p>



<a name="180526080"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/180526080" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#180526080">(Nov 12 2019 at 15:13)</a>:</h4>
<blockquote>
<p>well, I think the LSIF (this is the offline language server stuff?) is really interesting</p>
</blockquote>
<p>It is, it's basically save-analysis-by-microsoft</p>



<a name="180526097"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/180526097" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#180526097">(Nov 12 2019 at 15:13)</a>:</h4>
<p><em>very</em> oversimplifying</p>



<a name="180526126"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/180526126" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#180526126">(Nov 12 2019 at 15:13)</a>:</h4>
<p>oh about that, it'd be good to also consult the Mozilla engineers working on searchfox</p>



<a name="180526142"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/180526142" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#180526142">(Nov 12 2019 at 15:13)</a>:</h4>
<p>since they rely on SA for the indexer</p>



<a name="180526154"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/180526154" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#180526154">(Nov 12 2019 at 15:14)</a>:</h4>
<p>yep</p>



<a name="180526216"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/180526216" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#180526216">(Nov 12 2019 at 15:14)</a>:</h4>
<p>so</p>



<a name="180526221"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/180526221" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#180526221">(Nov 12 2019 at 15:14)</a>:</h4>
<p>let's schedule a meeting but</p>



<a name="180526231"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/180526231" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#180526231">(Nov 12 2019 at 15:14)</a>:</h4>
<p>I was wondering what would be a good "prep work" to do</p>



<a name="180526256"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/180526256" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#180526256">(Nov 12 2019 at 15:14)</a>:</h4>
<p>is enumerating the set of "features" a useful thing to do, to aid in comparison?</p>



<a name="180526270"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/180526270" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#180526270">(Nov 12 2019 at 15:14)</a>:</h4>
<p>and other parties possibly interested, like <span class="user-mention" data-user-id="120096">@est31</span> ? I know they consumed the save-analysis format so it'd be good to gauge how the data is useful in the current format</p>



<a name="180526289"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/180526289" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#180526289">(Nov 12 2019 at 15:14)</a>:</h4>
<blockquote>
<p>it'd be good to see what RLS features RA might be lacking and the other way around</p>
</blockquote>
<p>(I'm thinking about this question that <span class="user-mention" data-user-id="153740">@Igor Matuszewski</span> raised)</p>



<a name="180526336"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/180526336" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#180526336">(Nov 12 2019 at 15:15)</a>:</h4>
<p>a simple side-by-side pros/cons would be good to do, wrt to above ^</p>



<a name="180526345"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/180526345" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#180526345">(Nov 12 2019 at 15:15)</a>:</h4>
<p>as part of prep work</p>



<a name="180526445"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/180526445" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#180526445">(Nov 12 2019 at 15:16)</a>:</h4>
<p>possibly first by going over the LSP methods to get a good idea and then filling with external stuff, like project detection/integration?</p>



<a name="180526511"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/180526511" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#180526511">(Nov 12 2019 at 15:16)</a>:</h4>
<p><span class="user-mention" data-user-id="116009">@nikomatsakis</span> do you have a hackmd document handy?</p>



<a name="180526642"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/180526642" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#180526642">(Nov 12 2019 at 15:18)</a>:</h4>
<p>I'm trying to find it</p>



<a name="180526644"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/180526644" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#180526644">(Nov 12 2019 at 15:18)</a>:</h4>
<p><a href="https://hackmd.io/9qrJYdSLTK2MWG4-pbmpWw" target="_blank" title="https://hackmd.io/9qrJYdSLTK2MWG4-pbmpWw">https://hackmd.io/9qrJYdSLTK2MWG4-pbmpWw</a></p>



<a name="180526649"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/180526649" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#180526649">(Nov 12 2019 at 15:18)</a>:</h4>
<p>we could use this</p>



<a name="180526683"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/180526683" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#180526683">(Nov 12 2019 at 15:18)</a>:</h4>
<p>too many documents :)</p>



<a name="180526699"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/180526699" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#180526699">(Nov 12 2019 at 15:19)</a>:</h4>
<p><a href="https://hackmd.io/66OlBzy-RyW0YdXuUyJkuQ" target="_blank" title="https://hackmd.io/66OlBzy-RyW0YdXuUyJkuQ">https://hackmd.io/66OlBzy-RyW0YdXuUyJkuQ</a></p>



<a name="180526710"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/180526710" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#180526710">(Nov 12 2019 at 15:19)</a>:</h4>
<p>OK, let's link them all together :)</p>



<a name="180526739"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/180526739" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#180526739">(Nov 12 2019 at 15:19)</a>:</h4>
<p>oh whoops</p>



<a name="180526753"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/180526753" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#180526753">(Nov 12 2019 at 15:19)</a>:</h4>
<p>let's use the one you linked then</p>



<a name="180526873"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/180526873" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#180526873">(Nov 12 2019 at 15:20)</a>:</h4>
<p>actually I disagree :)</p>



<a name="180526887"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/180526887" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#180526887">(Nov 12 2019 at 15:20)</a>:</h4>
<blockquote>
<p><a href="https://hackmd.io/9qrJYdSLTK2MWG4-pbmpWw" target="_blank" title="https://hackmd.io/9qrJYdSLTK2MWG4-pbmpWw">https://hackmd.io/9qrJYdSLTK2MWG4-pbmpWw</a></p>
</blockquote>
<p>I like the title of this one</p>



<a name="180526891"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/180526891" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#180526891">(Nov 12 2019 at 15:20)</a>:</h4>
<p>let's use that as the "master doc"</p>



<a name="180526896"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/180526896" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#180526896">(Nov 12 2019 at 15:20)</a>:</h4>
<p>and I'll link other things into it</p>



<a name="180527851"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/180527851" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#180527851">(Nov 12 2019 at 15:29)</a>:</h4>
<p>These are great metics and notes, thanks <span class="user-mention" data-user-id="116009">@nikomatsakis</span> and <span class="user-mention" data-user-id="133169">@matklad</span> !</p>



<a name="180528108"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/180528108" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#180528108">(Nov 12 2019 at 15:31)</a>:</h4>
<p>OK <span class="user-mention" data-user-id="153740">@Igor Matuszewski</span> <span class="user-mention" data-user-id="133169">@matklad</span> <span class="user-mention" data-user-id="116083">@pnkfelix</span> I <a href="https://doodle.com/poll/x35wtanin5y5impw" target="_blank" title="https://doodle.com/poll/x35wtanin5y5impw">created a doodle poll</a> to schedule the next discussion on this topic</p>



<a name="180528251"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/180528251" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#180528251">(Nov 12 2019 at 15:32)</a>:</h4>
<p>I'm going to extract those notes, <span class="user-mention" data-user-id="153740">@Igor Matuszewski</span>, into a fresh hackmd, and link from that main document</p>



<a name="180528675"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/180528675" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#180528675">(Nov 12 2019 at 15:37)</a>:</h4>
<p>I'm on the move and still in Barcelona, so including prep work the next week would work best for me</p>



<a name="180528770"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/180528770" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#180528770">(Nov 12 2019 at 15:38)</a>:</h4>
<p>OK, looks like Mon at 9am (Boston time) is maybe best for everyone?</p>



<a name="180528953"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/180528953" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#180528953">(Nov 12 2019 at 15:39)</a>:</h4>
<p><span class="user-mention" data-user-id="116009">@nikomatsakis</span> there's a full green column on the 20th</p>



<a name="180529027"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/180529027" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#180529027">(Nov 12 2019 at 15:40)</a>:</h4>
<p>(because I think the one you're referring to is "Yes, if need be" instead?)</p>



<a name="180529044"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/180529044" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#180529044">(Nov 12 2019 at 15:40)</a>:</h4>
<p>True. I'm ok with either, but earlier might be better</p>



<a name="180529053"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/180529053" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#180529053">(Nov 12 2019 at 15:40)</a>:</h4>
<p>either is fine by me, obviously</p>



<a name="180529481"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/180529481" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#180529481">(Nov 12 2019 at 15:45)</a>:</h4>
<p>so finally Mon 9am (Boston time)?</p>



<a name="180530925"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/180530925" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#180530925">(Nov 12 2019 at 15:57)</a>:</h4>
<p>let's do monday</p>



<a name="180530998"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/180530998" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#180530998">(Nov 12 2019 at 15:58)</a>:</h4>
<p>I'll make a calendar invite (ps, I'd like to keep the meeting small for max productivity, but not trying to exclude anyone)</p>



<a name="180531128"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/180531128" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#180531128">(Nov 12 2019 at 15:59)</a>:</h4>
<p>Done</p>



<a name="181017445"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/181017445" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> matklad <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#181017445">(Nov 18 2019 at 14:01)</a>:</h4>
<p><span class="user-mention" data-user-id="116009">@nikomatsakis</span> <span class="user-mention" data-user-id="116083">@pnkfelix</span> <span class="user-mention" data-user-id="153740">@Igor Matuszewski</span> ping</p>



<a name="181017554"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/181017554" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#181017554">(Nov 18 2019 at 14:02)</a>:</h4>
<p>ah on my way</p>



<a name="181017656"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/181017656" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#181017656">(Nov 18 2019 at 14:03)</a>:</h4>
<p>am here</p>



<a name="181017731"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/181017731" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#181017731">(Nov 18 2019 at 14:04)</a>:</h4>
<p><a href="https://hackmd.io/fAnj6pNqRRGIyDQ4el5tcQ" target="_blank" title="https://hackmd.io/fAnj6pNqRRGIyDQ4el5tcQ">https://hackmd.io/fAnj6pNqRRGIyDQ4el5tcQ</a></p>



<a name="188909101"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/rls%20sync/near/188909101" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> est31 <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/rls.20sync.html#188909101">(Feb 24 2020 at 09:00)</a>:</h4>
<p><span class="user-mention silent" data-user-id="153740">Igor Matuszewski</span> <a href="#narrow/stream/131828-t-compiler/topic/rls.20sync/near/180526270" title="#narrow/stream/131828-t-compiler/topic/rls.20sync/near/180526270">said</a>:</p>
<blockquote>
<p>and other parties possibly interested, like <span class="user-mention silent" data-user-id="120096">est31</span> ? I know they consumed the save-analysis format so it'd be good to gauge how the data is useful in the current format</p>
</blockquote>
<p>Hi I'm rarely on zulip so I only saw this now (I hope one day Rust will switch to Matrix, or something else like IRC that allows me to have all my FLOSS discussions in one place)... sorry for replying late.</p>
<p>I consume save-analysis format for two projects of mine:</p>
<ol>
<li><a href="https://github.com/est31/cargo-udeps" target="_blank" title="https://github.com/est31/cargo-udeps">cargo-udeps</a>. It doesn't actually use most of the save-analysis format. All it extracts is the list of crates that the compilation used, which save-analysis contains. I've wondered about using <span class="user-mention" data-user-id="119235">@David Tolnay</span> 's cargo-expand tool for improving performance, but it's not much faster than save-analysis. I'd say the two are roughly equivalent in the average case. cargo-expand still performs full cargo check on all dependencies, just merely dumps the source in the end. I've wondered about an improved cargo-expand that only runs the resolution phase on the non-build and non-proc macro dependencies of a project. Typecheck and beyond aren't needed. I think the plans to split up compiler crates and upload them to <a href="http://crates.io" target="_blank" title="http://crates.io">crates.io</a> is very helpful for this goal. Maybe one day cargo-expand can just use the compiler's crates instead of requiring an unstable compiler executable. An alternative would be to make cargo-expand a cargo builtin and to have a proper expand-only mode of rustc that doesn't run the full cargo check equivalent, but only runs until expansion. IDK which of the two is better. Anyways to get back to the topic, cargo-udeps will somehow manage if save-analysis is frozen/removed, but I guess I should increase research in alternatives.</li>
<li><a href="https://github.com/est31/warnalyzer" target="_blank" title="https://github.com/est31/warnalyzer">warnalyzer</a>. Compared to cargo-udeps, it's probably less well known and has a smaller user base. It's also harder to use atm. I've mostly stopped working on it due to bugs/limitations in save-analysis (see bug section in readme). The goal of the project is to find unused <em>code</em> within a workspace. Many crates have only a limited set of users, whose source code is available. Any public items of those crates that aren't used by any crate from inside that limited set can safely be warned about, as there are no outside users. rustc can't see beyond the scope of the crate. This is where warnalyzer comes in. It takes the save-analysis info of all involved crates and bases its warnings on those. I'd love to get in contact with rust-analyzer folks to discuss about migrating it to rust-analyzer somehow. The main issue is the different paradigm of rust-analyzer: I need to iterate over <em>all</em> public items of a crate and filter them by specific criteria. When I last checked, rust-analyzer's API was limited to querying single items.</li>
</ol>
<p>I've also wondered about integrating both projects into one, or integrating them into rust-analyzer/the RLS plugin. cargo-udeps is probably more straightforward to integrate, but warnalyzer needs explicit buy in as you have to specify when to enable it and if so, the list of users of a crate (most times it's probably only the crates in the workspace, but sometimes it might also be few workspace-external crates).</p>



<hr><p>Last updated: Aug 07 2021 at 22:04 UTC</p>
</html>